对promise.all底层的实现的研究
生活随笔
收集整理的這篇文章主要介紹了
对promise.all底层的实现的研究
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.Promise.all(iterable)返回一個新的Promise實例,此實例在iterable參數(shù)內(nèi)素有的Promise都fulfilled或者參數(shù)中不包含Promise時,狀態(tài)變成fulfilled。 如果參數(shù)中Promise有一個失敗rejected ,此實例回調(diào)失敗,失敗原因的是第一個失敗Promise的返回結(jié)果
let p = Promise.all([m1,m2,m3])
return new promise((resolve,reject)=>{
let index=0
let result =[]
if(promise.length===0){
resolve(result)
}else {
function processValue(i,data) {
result[i]=data
if(++i===promise.length){
resolve(result)
}
}
for (let i=0 ;i<promise.length;i++){
Promise.resolve(promise[i]).then((data)=>{
processValue(i,data)
},(err)=>{
reject(err)
return
}
)
}
}
})
}
?
轉(zhuǎn)載于:https://www.cnblogs.com/zhouyideboke/p/11237711.html
總結(jié)
以上是生活随笔為你收集整理的对promise.all底层的实现的研究的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.MySQL目录结构
- 下一篇: 常用的激活函数