let p1 = new Promise((resolve,reject)=>{
setTimeout(()=>{
resolve(1111)
},1000)
})
let p2 = new Promise((resolve,reject) => {
setTimeout(()=>{
resolve(2222)
},2000)
})
Promise.all([p1,p2]),then(res => {
console.log(res) // [1111,2222]
})
// 手写实现 promise.all , 只返回成功的方法结果
function myPromiseAll(lists){
return new Promise((resolve,reject) => {
let resArr = []
let num = 0;
lists.forEach(item => {
item.then(res => {
resArr.push(res)
num ++;
if(num === lists.length){
resolve(resArr)
}
})
})
})
}
myPromiseAll([p1,p2]).then(res => {
console.log(res) // [1111,2222]
})
版权声明:本文为songlf521原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。