我们可以对 JavaScript forEach 异步执行回调吗? [复制]

Posted

技术标签:

【中文标题】我们可以对 JavaScript forEach 异步执行回调吗? [复制]【英文标题】:Can we execute callback to JavaScript's forEach asynchronously? [duplicate] 【发布时间】:2018-07-26 12:51:44 【问题描述】:
var a = [1,2,3,4,5,6,7,8,9,10];

a.forEach(item => 
  ...
);
console.log('all done');

在浏览器或节点环境中是否有可能在 forEach 完成执行之前控制台“全部完成”?如果是,那么什么时候?

【问题讨论】:

【参考方案1】:

没有。您的代码是同步的,因此除非您在异步块中显式执行 .forEach 函数,否则它永远不会发生。

【讨论】:

我该怎么做。能不能给我举个例子。 是的,jsfiddle.net/4udkgLqd【参考方案2】:

没有。 forEach 是一个同步函数。

可以在其中调用异步函数,它们可能还没有完成,但循环本身已经完成了。

【讨论】:

以上是关于我们可以对 JavaScript forEach 异步执行回调吗? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

NodeJs, javascript: .forEach 似乎是异步的?需要同步

如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别

如何形象地解释 JavaScript 中 map,foreach,reduce 间的区别

javascript学习系列:数组中的foreach方法

排序javascript数组foreach

JavaScript里的循环方法:forEach,for-in,for-of