实现promise.all

34 阅读1分钟
Promise.all = (promises)=>{
    let i=0, len=promises.length,result=[];
    return new Promise((resolve, reject)=>{
        for(let p of promises){
            Promise.resolve(p).then(data=>{
                i++;
                    result[i] = data;
                if(i===len){
                    return resolve(result);
                }
            },err=>{
                return reject(err);
            })
        }
    })
}