⼿写 Promise

实现⼀个简易版 Promise

那么我们先来搭建构建函数的⼤体框架

const PENDING = "pending"
const RESOLVED = "resolved"
const REGECTED = "regected"

function MyPromisse(fn) {
    const that = this
    that.state = PENDING
    that.value = null
    that.resolvedCallbacks = []
    that.regectedCallbacks = []
    //待完善resolve和reject函数
    //待完善执⾏fn函数
}
  • ⾸先我们创建了三个常量⽤于表示状态,对于经常使⽤的⼀些值都应该通过常量来管理,便于开发及后期维护

  • 在函数体内部⾸先创建了常量 that ,因为代码可能会异步执⾏,⽤于获取正确的 this 对象

  • ⼀开始 Promise 的状态应该是 pending

  • value 变量⽤于保存 resolve 或者 reject 中传⼊的值

 接下来我们来完善 resolve reject 函数,添加在 MyPromise 函数体内部

你可能感兴趣的:(⼿写 Promise)