Promise.all使用

简单的说Promise.all可以同时处理多个异步事件

注意项

如果一个承诺失败,那么所有其他承诺都会失败, 然后Promise.all被拒绝。

这个例子 如果我们传入的参数 是[1000,2000,3000]则会有一个异步方法执行错误 导致整个Promise.all 失败

durations = [1000, 2000, 3000]
 
promises = []



this.durations.map((item) => {
  this.promises.push(this.method(duration)) 
})

//调用
Promise.all(promises)
.then((res) => {
    console.log('成功',res)
})
.catch((err)=>{
    console.log('失败',err)
})

 

//异步方法
method(t){
    return new Promise((resolve, reject) => {
       setTimeout(() => {
          if (t === 2000) {
            reject(`Rejected in ${t}`)
          } else {
            resolve(`Completed in ${t}`)
          }
        }, t)

    })
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值