这篇手写 Promise 你一定要康康

这篇手写 Promise 你一定要康康插图亿华云

最近重温了一下 Q/Promise[1] 的设计讲解,结合自己的理解和一些小优化,决定也来写一篇手写 Promise 的文章。

基础版本

我们先以观察者模式作为基石来搭建一个基础版本,实现的功能如下:

构造函数接受一个函数 exector 作为参数,该函数的第一个参数是 resolve,作用是把 Promise 对象的状态变为“成功”。原型方法 then 是用来注册一个当状态变为成功的回调函数,当回调触发时,参数是 resolve 时的决议值。function Promise(exector) {

this.pending = [];

this.value = undefined;

const resolve = value =

THE END
Copyright © 2024 亿华云