如果某件事情需要依照多個對象完成後才能執行,那麼我們可以使用Promise.all來管理,将這些狀态全部執行完畢後才執行下一個!
<script>
console.log("工作開始")
let p1 = new Promise((resolve,reject)=>{
let time = Math.floor(Math.random()*4000+1000)
setTimeout(()=>{
console.log(time/1000+"s,趙六執行中...")
resolve()
}, time)
})
let p2 = new Promise((resolve, reject) => {
let time = Math.floor(Math.random()*4000+1000)
setTimeout(() => {
console.log(time/1000+"s,小李執行中...")
resolve()
}, time)
})
let p3 = new Promise((resolve, reject) => {
let time = Math.floor(Math.random()*4000+1000)
setTimeout(() => {
console.log(time/1000+"s,大黑執行中...")
resolve()
}, time)
})
let p = Promise.all([p1,p2,p3])
p.then(()=>{
console.log("全部執行完畢...")
})
</script>
複制
Promise.all也是一個Promise對象,接收一個數組,是需需要依賴的promise對象