const p1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve(111)
}, 1000)
})
const p2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve(222)
}, 2000)
})
let p3 = Promise.all([p1, p2]).then(res => {
console.log(res)
})
promiseAll([p1, p2]).then(res => {
console.log(res)
})
function promiseAll(list) {
const result = []
let count = 0
return new Promise((reslove, reject) => {
for (var i = 0; i < list.length; i++) {
let item = list[i]
item.then(res => {
result.push(res)
count++
if (count === list.length) {
reslove(result)
}
}, err => {
reject(err)
})
}
})
}