听名字莫名其妙,齐全没听说过,然而面试官就非要问。Promise
标准很多,有A/B/D/A+
,然而ES6
用的是A+
标准解读
- 一个promise的以后状态只能是
pending
、fullfilled
和rejected
三种,状态扭转之恩那个是pending->fullfilled
或pending->rejected
,状态扭转不可逆 Promise
的then
办法承受两个参数,示意promise
状态产生扭转时的回调(onFullfilled,onRejected)
,then
办法返回一个promise
,then
能够被一个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)}