模型

1.es6将某一件可能发生异步操作的事情分为两个阶段:unsettledsettled

unsettled:未决阶段,表示事情还在进行前期处理,还没有发生通向结果的事情
settled:已决阶段,表示事情已经有了结果,事情无法逆转
es6中的异步处理模型详解
事情总是从未决到已决的,未决有控制何时到达已决的能力。

2.es6将事情划分为三种状态:pending、resolved、rejected

  • pending: 挂起,处于未决阶段
  • resolved:已处理,已决阶段的一种状态,表示整件事情已经出现结果,而且这个结果是正常处理下去的
  • rejected:已拒绝,已决阶段的一种状态,表示整件事情已经出现结果,但是这个结果是不可以正常处理下去的,通常是错误

把事情变为resolved状态的过程叫做:resolve,把事情变为rejected状态的过程叫做:reject。两个过程都可以传递数据。阶段和过程都是不可逆的。
es6中的异步处理模型详解
3.当事情到达已决阶段后,通常需要后续处理,不同的已决阶段决定了不同的后续处理

  • resolved状态:这是一个正常的已决状态,后续处理表示为 thenable
  • rejected状态:这是一个非正常的已决状态,后续处理表示为 catchable
  • 后续处理可能会有多个,所以会形成作业队列
    es6中的异步处理模型详解
    4.这整个过程叫做Promise
    理解这些概念,对学习Promise非常重要!

相关文章:

  • 2021-06-05
  • 2022-12-23
  • 2021-06-09
  • 2021-09-05
  • 2021-11-24
  • 2021-11-27
猜你喜欢
  • 2021-12-19
  • 2021-12-01
  • 2021-05-18
  • 2022-12-23
  • 2022-12-23
  • 2021-06-06
  • 2022-01-20
相关资源
相似解决方案