与节点的异步js

时间:2014-04-29 01:34:50

标签: javascript node.js async.js

使用async.js库进行此功能的进展是什么?

var async = require('async');

var square = function (num, doneCallback) {
  console.log(num * num);
  // Nothing went wrong, so callback with a null error.
  return doneCallback(null);
};

// Square each number in the array [1, 2, 3, 4]
async.each([1, 2, 3, 4], square, function (err) {
  // Square has been called on each of the numbers
  // so we're now done!
  console.log("Finished!");
});

在'square'函数中,每次传递一个新数字时是返回doneCallback(null),还是在所有数字都完成后运行?

我认为它是在所有数字传递完成后运行的并且是console.log'd,IMO返回会中断并停止该功能。这是实际发生的事情吗?

1 个答案:

答案 0 :(得分:2)

不,doneCallback发生在return之前,因为doneCallback的结果是函数的返回值。每次调用doneCallback时都会调用square一次。