const PromiseAll = (array)=>{ let tempValue = []; let i = 0; return new Promise((resolve,reject)=>{ const next = () => { array[i].then((res)=>{ i++; tempValue.push(res) return i === array.length ? resolve(tempValue):next() }).catch((res)=>{ reject(`reject ${res}`) }) } next(); }) }
let p1 = Promise.resolve(1); let p2 = Promise.resolve(2); let p3 = Promise.resolve(3);
PromiseAll([p1,p2,p3]).then(res=>{ console.log(res) })
let p4 = Promise.resolve(2); let p5 = Promise.resolve(2); let p6 = Promise.reject(1);
PromiseAll([p4,p5,p6]).then(res=>{ console.log(res) })
|