gpt4 book ai didi

typescript - 如何将异步函数添加到类型 def 文件?

转载 作者:行者123 更新时间:2023-12-04 11:27:35 26 4
gpt4 key购买 nike

我正在尝试为 async-busboy 添加一个异步函数定义;

我创建了一个文件“async-busboy.d.ts”

declare module 'async-busboy' {
export default async function asyncBusby
(subString: any): Promise<any>;
}

但这给了我错误:“错误 TS1040:'async' 修饰符不能在环境上下文中使用。”

我如何编写异步函数定义?
谢谢

编辑
感谢 @Titian Cernicova-Dragomir 和 @Aaron 的回答。但是当我调用它时,我收到一个错误
const dddd = await asyncBusboy(22);
[ts] 'await' expression is only allowed within an async function.

有什么建议?

最佳答案

你只需要这个:

declare module 'async-busboy' {
export default function asyncBusby
(subString: any): Promise<any>;
}

它返回 Promise 的事实是什么使它成为异步类型(与 async 修饰符无关)。消费者预计 await any现在的值(value)。

另一方面, async修饰符用于增强函数(主体) 实现 (它返回的东西被包裹在一个 promise 中)。由于 type-def 不处理实现,因此 async类型定义中不允许。

换句话说,从方法/函数接口(interface)的角度来看 async修饰符没有说/改变任何东西,因此是 不需要 在接口(interface)声明中。

关于typescript - 如何将异步函数添加到类型 def 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48448151/

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