繁体   English   中英

数组中每个对象的NodeJS异步

[英]NodeJS async for each object in array

我的问题是我有1个数组包含多个对象。 我需要对该数组中的所有单个对象进行处理。 异步

但这行不通吗?

码:

 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

如您所见,它没有执行第二项,而是正确执行完成的功能?

内部回调的第一个参数为非null(即'0' ),这被解释为错误,导致函数在处理第一个元素后终止。 只需使该callback3(null, '0')

对于Node中几乎所有的回调,第一个参数通常是一个error对象。 (目前我无法想到一个例外,但是无论如何我们还是要坚持“几乎”。)

希望能解决您的问题。

此外,如果您仅将async用于某些功能,则应避免使用它(例如,通过执行以下操作 )。 我在使用async遇到了大型数组的麻烦。 这与您的原始问题无关; 只是一个建议。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM