Я знаю, это звучит глупо, но я не могу понять, как использовать async
для обработки существующих асинхронных функций.Использование async с асинхронными функциями
Например, рассмотрим некоторую асинхронную функцию foo(arg1, arg2, ..., argN, callback)
, определенную в некотором модуле узла. Скажем, я хочу использовать это в функции async
waterfall(tasks,[callback])
. Как я мог это сделать?
//original call
foo(x1,x2,xN, function goo(err, res) {
// do something
});
//using async
async.waterfall([
function(callback) {
foo(x1,x2,...,xN, callback);
}
], function goo(err, res) {
// do something
});
, но я не могу этого сделать, так как callback
должна быть вызвана до конца функции. Помощь?
О, хорошо, что работает отлично! Я предположил из документации, что «callback» должен был быть вызван до того, как закончилась функция обертки – Colin
Нет, это может быть 10 слоев для всех асинхронных забот. И если это никогда не будет вызвано вообще, async будет просто ждать вечно. –
Удивительный! Это ** делает все проще! Спасибо за ваше время – Colin