美文网首页
理解Promise

理解Promise

作者: KrisLeeSH | 来源:发表于2017-06-27 16:13 被阅读22次

雏形

function Promise(fn) {
    var value = null,
        callbacks = [];  //callbacks为数组,因为可能同时有很多个回调

    this.then = function (onFulfilled) {
        callbacks.push(onFulfilled);
    };

    function resolve(value) {
        setTimeout(function() {
            callbacks.forEach(function (callback) {
                callback(value);
            });
        }, 0)
    }

    fn(resolve);
}

剩下的就是加入状态啦,回调支持reject啦

注意resolve中的setTimeout,是为了解决resolve()发生在then注册回调之前,如:

const p = new Promise(resolve => {
    resolve("finished");
});

p.then(result => console.log(`result is ${result}`))

相关文章

  • Promise async/await

    Promise async/await 参考初探promise promise 理解 JavaScript ...

  • Promise原理解析

    Promise原理解析 标签(空格分隔): Node.js Promise原理解析 简介 Promise 对象用于...

  • 【前端 JavaScript 高级】06 - Promise的入

    第 1 章 Promise的理解和使用 1.1 Promise 是什么? 1.1.1 理解 抽象表达 Promis...

  • Promise用法详解

    参考promise|深入理解 promise:promise的三种状态与链式调用 Promise对象只有三种状态 ...

  • 理解promise

    ES6---new Promise()讲解,Promise对象是用来干嘛的?原文链接:https://blog.c...

  • Promise理解

    结合https://tech.meituan.com/promise-insight.html这篇文章,查看此图理解

  • 理解Promise

    雏形 剩下的就是加入状态啦,回调支持reject啦 注意resolve中的setTimeout,是为了解决reso...

  • Promise 理解

    Rn开发中较难理解且应用频繁的地方 1 含义 首先是一个对象 , 类似于回掉函数。 所谓Promise,简单说就...

  • 理解Promise

    函数式编程:一个函数,一定要纯,纯洁。不能对外部有依赖,也不能改变外部的值。否则不可控。函数最好都是单个参数。 从...

  • Promise理解

    Promise是什么?promise的意思是承诺,代表的都是未实现的东西,等待我们接下来去实现。 在Promise...

网友评论

      本文标题:理解Promise

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