昨迟人

文章 评论 浏览 27

昨迟人 2022-05-04 13:56:07
Promise._all = function (promises) {
    return new Promise((resolve, reject) => {
        const result = [], resolved = 0
        const length = promises.length
        const addResult = (item, index) => {
            result[index] = item
            resolved++
            if (resolved === length) {
                resolve(result)
            }
        }
        promises.forEach((promise, index) => {
            if (typeof promise.then === 'function') {
                // thenable
                promise.then((item) => {
                    addResult(item, index)
                }).catch(reject)
            } else {
                // 非promise类型直接透传
                addResult(promise, index)
            }
        })
    })
}

第 80 题:介绍下 Promise.all 使用、原理实现及错误处理

昨迟人 2022-05-04 13:43:06

@gzwgq222 直接用lodash

JavaScript 中浅拷贝和深拷贝的实现

昨迟人 2022-05-04 13:43:05

4,2,1

第 100 题:请写出如下代码的打印结果

昨迟人 2022-05-02 04:37:33

厉害了 大神

JavaScript 专题之学 underscore 在数组中查找指定元素

更多

推荐作者

櫻之舞

文章 0 评论 0

弥枳

文章 0 评论 0

m2429

文章 0 评论 0

野却迷人

文章 0 评论 0

我怀念的。

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文