Итак, я недавно начал играть с Node.js, который показал мне асинхронный код так, как я его видел раньше. Однако проблема, с которой я сталкиваюсь, заключается в том, что узел узла выполняет почти функции, вызываемые асинхронно (если я правильно понимаю). Таким образом, у меня есть две функции: A, B
, которые выполняют некоторые действия с базой данных. Функция A
должна быть выполнена до того, как начнется B. Однако я понял, что просто позвонить A
после B
явно не разрезал. Поэтому я думаю, что узел должен сделать обратный вызов :). Но у моего приложения с продукцией, вероятно, будет серия с А до Я, чтобы можно было запутаться. Однако я был бы очень признателен за пример того, как реализовать такой обратный вызов в node.js.Выполнение серийного кода Node.js
var http = require('http');
function runAllFunc() {
funcA();
funcB();
};
var server = http.createServer(function(req,res) {
syncFunc();
res.writeHead(200, {'Content-Type':'text/plain'});
res.end('dde');
}).listen(8080);
Используйте обещания. http://blog.slaks.net/2015-01-04/async-method-patterns/ – SLaks
[Async series] (http://stackoverflow.com/questions/21288014/node-js-async-series-functions- аргументы), [bluebird] (http://stackoverflow.com/questions/21298190/bluebird-promises-and-then), [Q] (http://stackoverflow.com/questions/15350587/serial-execution-with- q-promises) ...... – adeneo
Ну, по-видимому, это не «syncFunction», тогда ... Нет никакой магии, которая позволит синтаксису работать, вам понадобятся обратные вызовы. – Bergi