Skip to content

finally 实现

finally 无论 Promise 成功还是失败都会执行,且不改变最终的值。也是 ES6 扩展,不属于 A+ 规范。

本节要点

新增 finally(onFinally) 方法,基于 then 实现。 在 fulfilled 路径中:执行 onFinally,然后返回原值。 在 rejected 路径中:执行 onFinally,然后重新 throw 原因。

新增 finally 方法

新增方法
Loading code...

完整代码

my-promise.js
Loading code...

运行示例

示例一:resolve 时执行 finally
示例代码
Loading...
示例二:reject 时也执行 finally
示例代码
Loading...
示例三:finally 不改变传递的值
示例代码
Loading...

循序渐进实现 Promise