promise.all 和promise.race区别

1.加粗样式promise.all多个promise包装成一个新的promise

成功返回的是成功的数组
失败返回的是失败的数据 一旦失败不会继续执行
注意:
返回的数组顺序不会改变,不会因为p2比p1速度执行的快就改变

let p1 = Promise.resolve('aaa');
let p2 = Promise.resolve('bbb')
// let p3 = Promise.reject('ccc')
let p4 = Promise.resolve('ddd')
Promise.all([p1,p2,p4]).then(res=>{
    console.log(res);
}).catch(err=>{
    console.log(err);
})
  1. promise.race:有任意一个返回成功后,就算完成

哪个结果获取的快,就返回哪个结果。
不管返回的是成功还是失败

let p11 = Promise.reject('aaa');
let p22 = Promise.resolve('bbb')
let p33 = Promise.reject('ccc')
let p44 = Promise.resolve('ddd')
Promise.race([p11,p22,p33,p44]).then(res=>{
    console.log(res);// aaa
}).catch(err=>{
    console.log(err);
})

使用场景

  1. all :一个操作同时需要好几个接口里边的返回数据

  2. race:好几个接口会返回一样的数据,哪个接口的数据先返回就使用哪个接口的数据

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值