gpt4 book ai didi

promise.prototype.finally 的 TypeScript 类型定义

转载 作者:搜寻专家 更新时间:2023-10-30 20:41:24 24 4
gpt4 key购买 nike

我正在使用这个名为 promise.prototype.finally 的 ES6 Promise 兼容最终实现在我想转换为 TypeScript 的 Node 应用程序中,但是我无法在 DefinitelyTyped 上找到可用于此包的类型.在这些情况下,我已经为我需要的功能子集编写了自己的即兴类型定义,但在这种情况下,它是一个修改 Promise 对象原型(prototype)的库,我没有遇到任何传统的方式来表示这个在 typescript 中。有什么想法吗?

可能相关:

最佳答案

虽然 Slava 的回答是正确的,但它只处理 finally 的类型堵塞。要将 shim 实际合并到您的代码中,您可以编写 p.finally(() => { ... }) ,您需要调用 shim。

不幸的是 typings on DefinitelyTyped目前不支持 shim函数所以 until this is supported ,我建议您自己添加打字。

<罢工>

<罢工>
declare interface Promise<T> {
finally<U>(onFinally?: () => U | Promise<U>): Promise<U>;
}

declare module 'promise.prototype.finally' {
export function shim(): void;
}

<罢工>

这些类型现已可用。安装

npm install --save-dev @types/promise.prototype.finally

在您的 TypeScript 代码中,在应用程序引导期间,您可以调用

import { shim } from 'promise.prototype.finally';
shim();

这将添加 finally block 到 Promise原型(prototype),允许您使用 finally根据需要。

关于promise.prototype.finally 的 TypeScript 类型定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35876549/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com