Promise

作者: SpringAlways | 来源:发表于2020-09-14 19:46 被阅读0次

    概念

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

    • Pending 实现过程
    • Resolved(Fullfilled) 兑现承诺
    • Rejected 未兑现


      promises.png

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

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

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

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

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

    基本用法

    //待更

    类型

    //待更

    all() race()

    //待更

    done() finally()

    //待更

    应用

    //待更

    注意事项

    //待更

    相关文章

      网友评论

          本文标题:Promise

          本文链接:https://www.haomeiwen.com/subject/krxtyktx.html