Javascript中forEach的异步问题
Posted gs456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Javascript中forEach的异步问题相关的知识,希望对你有一定的参考价值。
某天尝试了下在 forEach函数中调用 await Promise() 方法,如下:
var arr = [1,2,3]
arr.forEach(async (v,i,a)=>
await Promise()
)
发现并没有按照想象中等到上一个Promise 处理完成后再执行下个Promise。
经过查阅资料后发现,实际forEach函数内部是异步的,遇到这种问题请使用for循环,如下:
var arr = [1,2,3]
for(let i=0;i<arr.length;i++)
await Promise()
即可解决问题,具体原理待下次补充
以上是关于Javascript中forEach的异步问题的主要内容,如果未能解决你的问题,请参考以下文章
JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析
JavaScript 循环中调用异步函数的三种方法,及为什么 forEach 无法工作的分析
我们可以对 JavaScript forEach 异步执行回调吗? [复制]
NodeJs, javascript: .forEach 似乎是异步的?需要同步