//promise.race
function prorace(promise){
return new Promise((resolve,reject)=>{
for(let i=0;i<promise.length;i++){
Promise.resolve(promise[i]).then(val=>{
resolve(val)
}).catch(err=>{
reject(err)
})
}
})
}
// promise.all
function proall(promise) {
let res=new Array(promise.length),index=0
return new Promise((resolve,reject)=>{
promise.forEach((element,i) => {
Promise.resolve(element).then(val=>{
index++
res[i]=element
if(index===promise.length){
resolve(res)
}
},err =>{
reject(err)
})
});
})
}