使用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();
  1. arr.map():我们用 map() 替代了 forEach()map() 会返回一个新的数组,其中每个元素都是一个 Promise
  2. Promise.all(promises)Promise.all() 等待所有的 Promise 完成后,才会执行后面的代码(即 console.log("1231231231"))。

通过这种方式,console.log("1231231231") 会等到 funcA() 执行完毕之后才被打印出来。

posted @   SimoonJia  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示