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