function promiseAll(params){
return new Promise((resolve,reject)=>{
let resultCount = 0;
let result =[];
params.forEach((item)=>{
item.then((res)=>{
resultCount++;
result.push(res);
if(resultCount == params.length){
resolve(result);
}
}).catch((rej)=>{
reject(rej)
});
})
})
}
let p1 = new Promise((resolve, reject) => {
resolve('p1')
})
let p2 = new Promise((resolve, reject) => {
resolve('p2')
})
let p3 = Promise.reject('p3 error');
let p4 = Promise.reject('p4 error')
promiseAll([p1,p2,p3]).then((res)=>{
console.log(res);
}).catch((reject)=>{
console.log(reject);
})
console