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()

}

即可解决问题,具体原理待下次补充

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM