如果某件事情需要依照多个对象完成后才能执行,那么我们可以使用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对象