es6中的异步处理模型详解

模型

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

unsettled:未决阶段,表示事情还在进行前期处理,还没有发生通向结果的事情
settled:已决阶段,表示事情已经有了结果,事情无法逆转
在这里插入图片描述
事情总是从未决到已决的,未决有控制何时到达已决的能力。

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

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

把事情变为resolved状态的过程叫做:resolve,把事情变为rejected状态的过程叫做:reject。两个过程都可以传递数据。阶段和过程都是不可逆的。
在这里插入图片描述
3.当事情到达已决阶段后,通常需要后续处理,不同的已决阶段决定了不同的后续处理

  • resolved状态:这是一个正常的已决状态,后续处理表示为 thenable
  • rejected状态:这是一个非正常的已决状态,后续处理表示为 catchable
  • 后续处理可能会有多个,所以会形成作业队列
    在这里插入图片描述
    4.这整个过程叫做Promise
    理解这些概念,对学习Promise非常重要!
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值