我的问题是我有一个包含多个对象的数组。 我需要为该数组中的所有单个对象执行操作。 异步
但它不起作用?
代码:
console.log('Data: ' + data);
async.eachSeries(data, function (item, callback3) {
console.log(item.id);
callback3('0');
}, function done(err) {
console.log('done');
});
这就是服务器loggs:
[root@bravo servers]# node app.js
[ { id: 1,
ownerid: 11,
topicid: 1,
content: 'First comment',
date: Sun Jun 21 2015 23:18:05 GMT+0200 (CEST) },
{ id: 2,
ownerid: 11,
topicid: 1,
content: 'Another test',
date: Mon Jun 22 2015 00:18:34 GMT+0200 (CEST) } ]
1
done
正如你所看到的那样,它没有做第二个正确的功能吗?
答案 0 :(得分:3)
内部回调的第一个参数是非null(即'0'
),它被解释为错误,导致函数在处理完第一个元素后终止。只需制作callback3(null, '0')
。
对于Node中的几乎所有回调,第一个参数通常是error
个对象。 (目前我无法想到一个例外情况,但不管怎样,让我们坚持使用#34;
希望能解决你的问题。
此外,如果您仅为一些功能使用async
,则应该避免使用{例如something like this)。使用async
时,我遇到了大型阵列的问题。这与您原来的问题没有关系;只是一个建议。