天天看點

多個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對象