240 发简信
IP属地:北京
  • new MyPromise(resolve => {
    console.log(1);
    resolve(3);
    MyPromise.resolve().then(() => console.log(4)).then(() => console.log(5))
    }).then(num => { console.log(num) }).then(() => { console.log(6) });
    console.log(2)
    用原生Promise和MyPromise分别运行这段代码,可以发现输出顺序不一样,所以需要调整下then的实现。具体请看 https://www.jianshu.com/p/4f3bef72758c
    感谢作者分享~

    Promise实现原理(附源码)

    本篇文章主要在于探究 Promise 的实现原理,带领大家一步一步实现一个 Promise , 不对其用法做说明,如果读者还对Promise的用法不了解,可以查看阮一峰老师的...

  • 一个Promise实现

    本文的代码是在下面这篇文章的基础进行的修改,首先感谢原作者的分享~Promise实现原理(附源码) - 简书 本文代码修改的主要是:_resolve改为同步执行,而then里...

  • Promise实现原理(附源码)

    本篇文章主要在于探究 Promise 的实现原理,带领大家一步一步实现一个 Promise , 不对其用法做说明,如果读者还对Promise的用法不了解,可以查看阮一峰老师的...

  • const promiseHandle = new Promise((resolve, reject) => {
    promiseHandle.cancel = function () {
    reject(new Error('Reject')); // 或者 resolve(''); // 这样不会触发catch
    }
    func(...args).then(v => resolve(v)).catch(err => reject(err))
    });

    Fetch 的手动终止

    今天在写一个前端页面的时候发现,我需要实现一个类似 Google 搜索的联想功能时,我需要手动终止自己发出去的请求,比如: 在这个时候,假如用户一直输入,如果不做处理那么就会...