用法

传一个promise数组,当所有promise都完成(resolved),回调所有成功的结果, 如果有一个回调执行失败,then是不会执行的,则在catch回调第一个失败的结果

 

代码

Promise.all([promise1,promise2,promise3]).then((res)=>{

    console.log("res==>",res);

}).catch((error)=>{

    console.log("error==>",error);

})

应用场景

  • 比如一个接口请求里面需要传参数,而这个参数来自其他2个接口的返回值
  • 假设一个支付操作需要用户账户有余额,并且商品有库存,才能进行下一步操作

 

注意

      几个异步操作是强相关的,后续步骤必须依赖这几个步骤全部成功才能进行

 

好处

  promise.all将多个promise放在一起处理,能简化回调的处理(不然需要调很多次,不科学),一个then回调就能拿到所有数据,对其进行处理,也能用一个catch回调捕获所有的异常

 

如图

Promise.all用法_异步操作