js中的forEach 遇到 async await

好久好久没有写js了。。。。,

有时候看见这样的代码

let ret = [];
[xxx].forEach(async (item) => {
    let res = await xxxx
    ret.push[res]
});

//处理ret

这样是不对的,forEach底层实现没有await每个回调,所以上面代码其实ret是空的。

应该这样写

let tasks = [xxx].map((item) => {
   return Promise
});

let ret = await Promise.all(tasks)
//处理ret

当然改成普通的for循环也行,并发度就将为1了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值