Promise A+ 规范
Posted yingmhd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Promise A+ 规范相关的知识,希望对你有一定的参考价值。
听名字莫名其妙,完全没听说过,但是面试官就非要问。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) }
以上是关于Promise A+ 规范的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段12——JavaScript的Promise对象