Promise

2020-09-14  本文已影响0人  SpringAlways

概念

Promise,承诺。是一个对未来画饼,提前写好逻辑的对象。
既是承诺,则有实现诺言的过程,实现诺言的结果(兑现或未兑现)。
对应着Promise的3个状态:

打个比方,Promise其实就像是期权,Pending是为上市奋斗的过程,Resolved是上市成功,可以兑换成股票变现,Rejected是上市失败,变为一堆废纸。

而由Pending->Resolved或Rejected,这个改变只能发生一个。

Promise是可以添加callback的,添加callback后,即使这个改变已经发生,callback也会收到结果的回调。(告知承诺的结果)
这个与event监听不一样,event的callback添加之后只能在后面的事件发生时收到调用,前面的就都丢失了。两者其实本来就是两个概念。

简而言之,Promise是一个提供统一接口操作的链式的异步执行概念。

Promise也可以理解成一个事务,一旦开始就无法取消,Pending状态中更细致的情况无法得知,比如是刚开始,还是快执行完了,需要在任务中单独添加callback函数去记录和捕捉错误。

基本用法

//待更

类型

//待更

all() race()

//待更

done() finally()

//待更

应用

//待更

注意事项

//待更

上一篇下一篇

猜你喜欢

热点阅读