让 each() 调用在其回调中包含一个结果数组将非常有用。
这就是async.map
的用途。
你好,
实际上地图的工作方式与您在@aearly 中描述的完全一样。
尽管在代码可读性方面我同意@pcman312,但让 eachSeries 有一个回调(错误,结果)会很好。
这将使它与 async.series 一致,后者也有一个回调(错误,结果)。
即:人们可能希望为集合中的每个元素运行一个函数,但该函数的目标不是“映射”值。 (在这种情况下, eachSeries 或 each 会更好的可读性)。
关于返回的结果,您是否仍然可以考虑将其实现为与 async.series 相同的方法? 非常感谢 !
我认为这不值得考虑,因为mapSeries
已经 100% 覆盖了此功能。 如果您关心函数的结果而不是映射
series
和mapSeries
也有很大不同,因为series
为您提供上次回调的结果,而mapSeries
将每个回调的结果映射到数组中
@megavac
也完全不同,因为 series 为您提供上次回调的结果
不, series
也映射了每个回调的结果。
糟糕,我把它和瀑布混在一起了。 无论如何,我的评论仍然是关于mapSeries
听起来不错,没问题,可能需要习惯语法:-)
无论如何,感谢您的时间和伟大的图书馆!
each
也稍微快一些,因为它不必跟踪结果。
我今天遇到了这个,我认为这绝对是绝妙的……以防您需要 ID。
如果有比这更简单的事情,请告诉我。
async.each(Object.keys(arr), function(index, cb) {
console.log('index: ' + index)
var item = arr[index]
console.log(item)
cb()
}, (err, ret) {
console.log('done')
})
最有用的评论
这就是
async.map
的用途。