前言
Promise.prototype.finally() 是 ES2018 规范引入的 Promise 原型链上的方法,由于 Promise 的状态一旦确定,就无法更改,因此需要使用 Promise.prototype.finally() 方法来为 Promise 链添加一个最后执行的回调函数,无论 Promise 是否成功完成或被拒绝。
在 TypeScript 项目中使用 Promise.prototype.finally() 方法需要安装 @types/promise.prototype.finally 类型声明包,本文将介绍如何安装和使用该包。
步骤
1. 安装
使用 npm 或 yarn 安装 @types/promise.prototype.finally 包:
npm install @types/promise.prototype.finally --save-dev yarn add @types/promise.prototype.finally --dev
2. 导入
在使用 Promise.prototype.finally() 方法的 TypeScript 文件中导入该包:
import 'promise.prototype.finally';
3. 使用
在 Promise 链式调用中使用 Promise.prototype.finally() 方法添加最后执行的回调函数,例如:
-- -------------------- ---- ------- ------------------ ------------- -- - ---------------------- ----------- -- -------------- -- - ---------------------- ----------- -- ----------- -- - ------------------------ ---
在 Promise 完成后,无论它是成功还是被拒绝,最后的回调函数都会被执行。
示例代码
下面提供一个完整的示例代码,声明一个返回 Promise 对象的函数 wait(time: number),并在调用该函数时使用 Promise.prototype.finally() 方法添加最后执行的回调函数,输出结果。
1. 安装
npm install @types/promise.prototype.finally --save-dev
2. 代码
-- -------------------- ---- ------- ------ ---------------------------- -------- ---------- -------- ------------ - ------ --- ----------------- -- ------------------- ------- - ---------- -------- -- --------------------- -------------- -- --------------------- ----------- -- -------------------------
3. 运行结果
等待 1 秒后输出:
Done! Finally!
结论
使用 @types/promise.prototype.finally 类型声明包可以在 TypeScript 项目中正确地使用 Promise.prototype.finally() 方法,并为 Promise 链添加最后执行的回调函数。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedae9fb5cbfe1ea0610e8d