asynchronousfunction使用asynchronous
我知道这听起来很愚蠢,但我不明白如何使用async
来处理现有的asynchronous函数。
例如,考虑一些节点模块中定义的一些asynchronous函数foo(arg1, arg2, ..., argN, callback)
。 说我想用在async
的waterfall(tasks,[callback])
function。 我怎么可能做到这一点?
//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
只是告诉asynchronous,“我完成了,去下一个”。 您也可以使用async.apply
自动生成这些小封装函数:
async.waterfall([ async.apply(foo, x1, x2, nX) //don't use callback, async will add it, someOtherFunction ], function (error, finalResult) {});