听名字莫名其妙,齐全没听说过,然而面试官就非要问。
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)}