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);
})
- 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);
})
使用场景
-
all :一个操作同时需要好几个接口里边的返回数据
-
race:好几个接口会返回一样的数据,哪个接口的数据先返回就使用哪个接口的数据