首页 > 其他 > 详细

实现一个Promise.all

时间:2019-02-11 18:03:14      阅读:449      评论:0      收藏:0      [点我收藏+]

用js自己实现一个Promise.all

let promiseAll = (promises) => {
    return new Promise((resolve, reject) => {
        // 用来存储每个promise的返回值
        let values = new Array(promises.length);
        // 当前已经完成了几个promise
        let finishCount = 0;

        for (let i = 0; i < promises.length; ++i) {
            let promise = promises[i];
            promise.then(val => {
                values[i] = val;
                ++finishCount;
                if (finishCount === promises.length) {
                  resolve(values);
                }
            }).catch(err => {
              reject(err)
            })
        }
    });
};

实现一个Promise.all

原文:https://www.cnblogs.com/forzhaokang/p/10362685.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!