异步每个vs forEach js

时间:2017-01-31 09:59:10

标签: javascript async.js

有人可以解释一下这两者之间的不同之处:

async.each(items, function (item, callback) {
    // Do something
});

或者:

items.forEach(function(item) {
 // Do something
)};

1 个答案:

答案 0 :(得分:9)

async.each

是非阻塞(异步),意味着脚本在运行时继续执行。它也是并行运行,意味着同时处理多个项目。这是一个由外部库提供的方法,我猜async。它不是原生的Javascript功能,也没有添加到Array.prototype,因此您无法编写myArray.each

Array.forEach

阻塞(同步),意味着脚本的执行等待直到完成。它正在运行序列,意味着在处理前一项之后处理每个项目。 forEach是原生的Javascript函数(spec)&在Array.proptotype上定义,因此您只需编写myArray.forEach而不是Array.forEach(myArray)。例如,如果您推送到forEach循环中的数组,则可以在forEach调用后访问行中的推送值。