与异步函数一起使用异步

时间:2013-08-13 04:52:23

标签: node.js asynchronous node-async

我知道这听起来很愚蠢,但我无法理解如何使用async来处理现有的异步函数。

例如,考虑一些节点模块中定义的异步函数foo(arg1, arg2, ..., argN, callback)。假设我想在async的{​​{1}}函数中使用它。我怎么可能这样做?

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 }); 。 帮助

1 个答案:

答案 0 :(得分:3)

是的,你有什么工作。 callback只是告诉异步,“我已经完成了,转到下一个”。您还可以使用async.apply自动生成这些小包装函数:

async.waterfall([
  async.apply(foo, x1, x2, nX) //don't use callback, async will add it,
  someOtherFunction
], function (error, finalResult) {});