Promise.allSettled()与Promise.all()方法

Promise.allSettled()

  • 接收参数为promise数组,返回promise对象,状态永远为成功

  • 始终能够得到每一个promise成功失败的结果

//声明两个promise对象
const p1 = new Promise((resolve, reject) =>{
    setTimeout(()=>{
        resolve('商品数据-1');
    },1000)
})

const p2 = new Promise((resolve, reject) =>{
    setTimeout(()=>{
       //  resolve('商品数据-2');
       reject('失败的数据');
    },1000)
})

//调用allSettled方法
const result = Promise.allSettled([p1,p2]);
console.log(result)

show

在这里插入图片描述


Promise.all()

  • 返回的是promise对象,返回状态有一个失败且都失败,
    失败的值为数组里面失败的值
//声明两个promise对象
  const p3 = new Promise((resolve, reject) =>{
     setTimeout(()=>{
         resolve('商品数据-1');
     },1000)
 })

 const p4 = new Promise((resolve, reject) =>{
     setTimeout(()=>{
        //  resolve('商品数据-2');
        reject('失败的数据');
     },1000)
 })
//调用all方法
const result1 = Promise.all([p3,p4]);
console.log(result1)//rejected

show

在这里插入图片描述


总结:

什么时候用 Promise.allSettled()?
什么时候用 Promise.all()?

-每一个异步任务都想得到结果就使用Promise.allSettled()
-异步任务要求每个都成功才能往下执行就使用Promise.all()

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值