我目前正在尝试学习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"在迭代器函数中...但我真的不明白什么是传递给回调? (然后在迭代器的末尾执行)
答案 0 :(得分:0)
它会收到一系列单个操作的结果 - 无论你传递给回调。
由于您没有向回调传递任何内容,因此它将收到undefined
的数组。