关于promise:Promise-A-规范

听名字莫名其妙,齐全没听说过,然而面试官就非要问。
Promise标准很多,有A/B/D/A+,然而ES6用的是A+

标准解读

  1. 一个promise的以后状态只能是pendingfullfilledrejected三种,状态扭转之恩那个是pending->fullfilledpending->rejected,状态扭转不可逆
  2. Promisethen办法承受两个参数,示意promise状态产生扭转时的回调(onFullfilled,onRejected),then办法返回一个promisethen能够被一个promise屡次调用
    标准解读结束…

    Promise原理

    雏形

    function Promise(fn) {
        let value = null,
            callbacks = [] // 观察者模式,注册事件
        this.then = function(onFullfilled) {
            callbacks.push(onFullfilled)
        }
        function resolve(value) {
            callbacks.forEach(function(callback){
                callback(value)
            })
        }
        fn(reslove)
    }

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理