使用Promise.all()优化请求

function fetchBox(param) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      let box = {}
      box[param] = [1, 2, 3]
      resolve(box)
    }, 5000);
  })
}

let params = ['apple', 'banana', 'orange']
let result = []

// 1.不应该每个请求都依次 await
params.forEach(async (param) => {
  result.push(await fetchBox(param))
})

// 2.而是将同类的请求放到Promise.all()中去
let pool = params.map(param => {
  return fetchBox(param)
})
let promiseResult = Promise.all(pool)

console.log(result)
console.log(promiseResult)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值