【面试准备】实现promise方法

113 阅读1分钟
  1. 实现promise.all方法
     Promise.myAll = function(promises) {

            return new Promise((resolve, reject) => {
                const len = promises.length;
                let arr = []
                let count = 0
                for(let i = 0; i < len; i ++) {
                    Promise.resolve(promises[i]).then((res) => {
                        count++
                        arr[i] = res

                        if(count === len) {
                            resolve(arr)
                        }
    
                    }, (err) => {
                        return reject(err)
                    })
                }
            })
            
        }
  1. 实现promise.race方法