Skip to content

状态变更封装

将状态变更逻辑封装为私有方法 #setState,resolve 和 reject 统一调用它。

本节要点

新增 #setState(state, value) 私有方法,统一处理状态变更和值设置。 resolve 和 reject 不再直接操作 #state 和 #value,而是通过 #setState 间接操作。

新增 #setState 方法

关键变更
Loading code...

完整代码

my-promise.js
Loading code...

运行示例

示例一:resolve 后无法再 reject
示例代码
Loading...
示例二:reject 后无法再 resolve
示例代码
Loading...
示例三:抛出异常也走 #setState
示例代码
Loading...

循序渐进实现 Promise