使用promise.all 实现forEach+内部异步操作,下方代码await
需求:先打印下方123
a.forEach(()=>{
await funcA()
})
console.log("1231231231")
思路:
你应该使用 map() 来创建一个包含异步操作的 Promise 数组,并使用 Promise.all() 来等待所有的异步操作完成。
实现:
const asyncFunction = async () => {
const promises = arr.map(async () => {
await funcA();
});
// 等待所有异步操作完成
await Promise.all(promises);
console.log("1231231231"); // 在所有异步操作完成后执行
};
asyncFunction();
arr.map():我们用map()替代了forEach(),map()会返回一个新的数组,其中每个元素都是一个Promise。Promise.all(promises):Promise.all()等待所有的Promise完成后,才会执行后面的代码(即console.log("1231231231"))。
通过这种方式,console.log("1231231231") 会等到 funcA() 执行完毕之后才被打印出来。

浙公网安备 33010602011771号