Promise.all()方法用于將多個(gè) Promise 實(shí)例,包裝成一個(gè)新的 Promise 實(shí)例。
Promise.all()等所有的Promise執(zhí)行完畢后,按照放在all中的先后順序?qū)esolve()返回的數(shù)據(jù)放在Promise.all的resolve中
示例:
//方法
promiseone(){
return new Promise((r,j)=>{
setTimeout( ()=>{
console.log(111);
r(11)
},3000)
})
},
promisetwo(){
return new Promise((r,j)=>{
setTimeout(()=>{
console.log(22);
r(22)
},1000)
})
},
promisethress(){
setTimeout(()=>{
console.log(33);
},500)
},
//vue中調(diào)用
//等promiseone和promisetwo請(qǐng)求回來后,再去請(qǐng)求promisethress。
//all()中的Promise對(duì)象執(zhí)行先后順序由自己快慢控制
created() {
Promise.all([this.promiseone(),this.promisetwo()]).then(res=>{
console.log(res,888);
this.promisethress()
})
},
打印的結(jié)果

image.png
注:Promise.all()方法接受一個(gè)數(shù)組作為參數(shù),參數(shù)都是Promise實(shí)例
可適用場(chǎng)景:異步請(qǐng)求3需要等異步請(qǐng)求1和2的數(shù)據(jù)作為參數(shù)去請(qǐng)求。