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