天天看点

多个Promise对象的处理

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