美文网首页
手写一个简单的Promise

手写一个简单的Promise

作者: may505 | 来源:发表于2021-02-25 19:29 被阅读0次
function MayPromise(callback) {
    this.status = "pending"
    this.value = null
    this.successCallback = []
    const resolve = (value) => {
        if (this.status === "pending") {
            this.status = "success"
            this.value = value
            this.successCallback.map(item => item(value))
        }
    }
    const reject = value => {
        if (this.status === "pending") {
            this.status === "reject"
        }
    }
    callback(resolve, reject)
}

MayPromise.prototype.then = function (callback) {
    if (this.status === "success") {
        callback(this.value)
    } else if (this.status === "pending") {
        this.successCallback.push(callback)
    }
}
new MayPromise((resolve) => {
    setTimeout(() => {
        resolve('123456')
    }, 1000)
}).then(res => console.log('res', res))

相关文章

  • 手写promise

    手写promise 带大家手写一个 promis。在手写之前我会先简单介绍一下为什么要使用promise、prom...

  • 手写Promise

    手写 Promise 我们会通过手写一个符合 Promise/A+ 规范的 Promise 来深入理解它,并且手写...

  • 手写Promise(简单)

    Promise Promise.all Promise.race

  • 手写一个简单的Promise

  • 手写promise

    面试的笔试题中遇到过手写promise的题目,以下是参考了网上的文章,自己整理的一个简单的promise函数:

  • 手写 Promise 简单梳理

    推荐文章[https://juejin.im/post/6850037281206566919#heading-3...

  • 手写极简版promise

    为了更更加好的理解promise ,简单的学习了一下手写promise。于是我就简单的学了一下 ,首先分步操作,先...

  • es5 手写promise

    参考自 前端精髓--手写一个Promise

  • 手写Promise

    $ 正常的promise用法   $ 手写的Promise   # 测试可行性

  • 手写 Promise 系列 --- 3

    在前两篇(手写 Promise 系列 --- 1)和(手写 Promise 系列 ---2) 中,达成了3个目标 ...

网友评论

      本文标题:手写一个简单的Promise

      本文链接:https://www.haomeiwen.com/subject/hxgufltx.html