试图了解async.forEach

时间:2015-07-06 22:00:31

标签: node.js

我目前正在尝试学习node.js的异步模块。下面是一个演示如何使用async.forEach的示例。

var async   = require('async'),
    request = require('request');

var results = {};

function done(err) {
  if (err) {
    throw err;
  }
  console.log('done! results: %j', results);
}

var collection = [1, 2, 3, 4];

function iterator(value, callback) {
  request.post({
      uri: 'http://localhost:8080',
      body: JSON.stringify(value)
    },

    function(err, res, body) {
      if (err) {
        return callback(err);
      }
      results[value] = JSON.parse(body);
      callback();
    });
}

async.forEach(collection, iterator, done);

因此,async.forEach遍历集合中的每个元素,然后将每个元素传递给" value"在迭代器函数中...但我真的不明白什么是传递给回调? (然后在迭代器的末尾执行)

1 个答案:

答案 0 :(得分:0)

它会收到一系列单个操作的结果 - 无论你传递给回调。

由于您没有向回调传递任何内容,因此它将收到undefined的数组。