ES6的async/await 在循環中的使用注意事項


 

 

使用async/await使for/map等等循環方法中的異步操作變為串行:

當然首先當想到的是如下,使用Promise.all,但是結果並不盡人意,多個asyncWorker最終執行的結果依然是亂序的;

// 使用async await 處理異步操作
let results = await Promise.all(arr.map(async (item) => {
    // 等待異步操作完成,返回執行結果
    return await asyncWorker(item);
}));

  解決: 使用for /for...of等循環即可,因為map、forEach這些循環方法是直接調用回調函數,for/for...of 是通過迭代器的方式去遍歷。;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM