W książce Ręce na węźle, autor podaje przykład blokowanie I \ O,nie rozumieją zwrotnego i non-blocking przykład - node.js
var post = db.query("select * from posts where id = 1");
doSomethingWithPost(post)
doSomethingElse();
autor mówi nic nie jest wykonywane linia 1 jest aż zakończeniu wykonywania kwerendy db
, a potem pokazuje kod non-blocking
callback = function(post){
doSomethingWithPost(post)
}
db.query("select * from posts where id = 1",callback);
doSomethingElse();
Czy to nie jest również blokowanie aż kwerenda jest wykonywana?
Tak, doSomethingElse nie zostanie wykonany, dopóki zapytanie nie zostanie zakończone.
Nadal nie get..say jeśli 'zapytania (String, callback) {// implementaion dla retreiving rekordy dla danego łańcucha zapytania ... zrobić trochę czasu, aby wykonaj ... Na podstawie usuniętych pobranych wywołaj wywołanie zwrotne} '. Dla mnie jest to również blokowanie ... bez bazy danych jest zapytał wywołania zwrotnego nie będzie wykonać .. będzie czekać .. PRAWO !! – prvn