forEach如何实现同步?-灵析社区

谁能阻止我删代码

 const arr = [1,2,3,4,5,6]; const result = []; const fn = (item) => { let time = Math.ceil(Math.random()*1000) return new Promise(resolve => { setTimeout(() => { resolve(item) }, time); }) } arr.forEach(async (item) => { const val = await fn(item); result.push(val); console.log(result); }) forEach如何实现同步

阅读量:181

点赞量:0

问AI
横刀立马007
forEach无法同步执行多个Promise代码,你得用map返回一个Promise数组,然后用Promise.all执行 let requestList = arr.map(async (item) => await fn(item)) await Promise.all(requestList)