promise.all和promise.race的区别

首先promise.all和promise.race 里面 都可以放一个 存储promise对象的数组

promise.all 是数组里面所有的 promise对象执行结束之后 会返回一个 存储所有 promise对象的结果 

var runA=function(){
            return new Promise((resolve,reject)=>{
                setTimeout(()=>{
                    console.log('runA方法');
                    resolve('a')
                },3000)
            })
        }
        var runB=function(){
            return new Promise((resolve,reject)=>{
                setTimeout(()=>{
                    console.log('runB方法');
                    resolve('b');
                },4000)
            })
        }
  Promise.all([runA(),runB()]).then((res)=>{console.log(res)});   // 输出 ["a", "b"]

promise.race 顾名思义 race就是比赛的意思  只会返回一个执行速度最快的那个promise对象返回的结果 

注意:其他的异步函数照样还是会执行的 只是  不会再 执行 resolve和reject  也不会返回结果了 但函数还是会执行的 如:还是会打印  console.log('runB方法')  只会不会执行 下面的 resolve('b')​​​​​​​

 Promise.race([runA(),runB()]).then((res)=>{console.log(res)});   // 输出 a

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yunchong_zhao

帮到你了,请作者喝杯矿泉水可好

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值