promise(js里很多服务的then实现分析)
promise(很多少服务的then)
1、promise有三种状态,等待(pending)、已完成(fulfilled)、已拒绝(rejected)
2、promise的状态只能从“等待”转到“完成”或者“拒绝”,不能逆向转换,同时“完成”和“拒绝”也不能相互转换
3、promise必须有一个then方法,而且要返回一个promise,供then的链式调用,也就是可thenable的
4、then接受俩个回调(成功与拒绝),在相应的状态转变时触发,回调可返回promise,等待此promise被resolved后,继续触发then链
实现原理:
then方法把要回调的函数放入到promise中的函数数组中进行保存,并返回这个promise让后面继续调用then。
安装监控器到要监控的对象中,一旦被监控的对象发生状态变化,就调用promise里相应的函数进行处理,并
从promise中的函数数组取出函数进行一一运行。
参考原文:http://www.tuicool.com/articles/RzQRV3
相关推荐
Magicsoftware 2020-06-11
nmgxzm00 2020-11-10
xixixi 2020-11-11
88254251 2020-11-01
MarukoMa 2020-09-02
88234852 2020-09-15
陈旭阳 2020-08-31
whynotgonow 2020-08-19
前端开发Kingcean 2020-07-30
whynotgonow 2020-07-29
bowean 2020-07-08
前端开发Kingcean 2020-07-08
88520191 2020-07-05
前端开发Kingcean 2020-06-27
88481456 2020-06-18
whynotgonow 2020-06-16
88520191 2020-06-13
88520191 2020-06-13