关于Promise.all
生活随笔
收集整理的這篇文章主要介紹了
关于Promise.all
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Promise.all() 方法接收單個(gè)可迭代對象(如數(shù)組)作為參數(shù),并返回一個(gè)promise。每個(gè)Promise都用一個(gè)數(shù)值進(jìn)行了決議,對Promise.all() 的調(diào)用創(chuàng)建了新的 Promise p4。這些值的存儲順序保持了待決議(resolve)的Promise順序,與完成的先后順序無關(guān),因此可以將結(jié)果匹配到每個(gè)Promise。如果任意Promise被拒絕,則p4會立即拒絕,不必等其他 Promise結(jié)束。
/* eslint-disable prefer-promise-reject-errors,eol-last */ let p1 = new Promise((resolve, reject) => resolve(42)) let p2 = new Promise((resolve, reject) => reject(43)) let p3 = new Promise((resolve, reject) => resolve(44))let p4 = Promise.all([p1, p2, p3]) let p5 = Promise.all([p1, p3]) p1.then(v=>console.log('p1 then: ' + v)) // p1 then: 42 p4.then(v=>console.log('p4 then: ' + v)) // 不執(zhí)行 p4.catch(v=>console.log('catch: ' + v)) // catch: 43 p2被拒絕,p4的拒絕處理函數(shù)立即調(diào)用,不會等p1和p3結(jié)束執(zhí)行。但p1和p2仍然會執(zhí)行。 p5.then(v=>{console.log(Array.isArray(v)) // trueconsole.log(v) // [ 42, 44 ] })?
轉(zhuǎn)載于:https://www.cnblogs.com/dodocie/p/9055240.html
總結(jié)
以上是生活随笔為你收集整理的关于Promise.all的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Cocos.js
- 下一篇: BZOJ2299 [HAOI2011]向