我知道这听起来很愚蠢,但我不明白如何使用 async
处理现有的异步函数。
例如,考虑在某个 Node 模块中定义的一些异步函数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
只是告诉异步,“我完成了,转到下一个”。您还可以使用async.apply
自动生成这些小包装函数:
async.waterfall([
async.apply(foo, x1, x2, nX) //don't use callback, async will add it,
someOtherFunction
], function (error, finalResult) {});
关于node.js - 将 async 与异步函数结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18200932/