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