Promise.all()和Promise.race()都可以放一個存儲Promise對象的數(shù)組
Promise.all() 是數(shù)組里面所有的Promise對象執(zhí)行結(jié)束之后會返回一個存儲所有 promise對象的結(jié)果
var promiseA= function () {
return new Promise((resolve,reject)=>{
setTimeOut(()=>{
console.log('我是PromiseA')
resolve('A')
},3000)
})
}
var promiseB= function () {
return new Promise((resolve,reject)=>{
setTimeOut(()=>{
console.log('我是promiseB')
resolve('B')
},4000)
})
}
Promise.all([promiseA(),promiseB()]).then((res)=>{console.log(res)}) // 輸出["A", "B"]
Promise.race([promiseA(),promiseB()]).then((res)=>{console.log(res)}) // 輸出["A"],因為A的setTimeout延遲比B早
Promise.race()只會返回一個執(zhí)行速度最快的Promise對象返回的結(jié)果
其他異步函數(shù)也會照樣執(zhí)行蛹头,只是不會再執(zhí)行resolve和reject悲酷,也不會返回結(jié)果了
console.log()還是會照常執(zhí)行闻妓,只是不會執(zhí)行resolve('B')