手写Promise.all

手写Promise.all

Promise.all = (promises)=>{
    return new Promise((resolve,reject)=>{
        const result = []
        let index = 0
        if(promises.length==0){
            resolve(result)
        }
        promises.forEach(promise=>{
            promise.then(res=>{
                index++
                result.push(res)
            }).catch(err=>{
                reject(err)
            })
        })
        if(index==promises.length){
            resolve(result)
        }
    })
}
posted @ 2022-03-03 20:33  BONiii  阅读(93)  评论(0编辑  收藏  举报