如何在TypeScript接口(Interface)中声明异步(async)函数?
在TypeScript接口中声明异步函数
- 接口里不需要给函数加
async关键字,因为async是函数实现阶段的语法糖,接口只需要定义函数的返回值类型——异步函数的返回值本质是Promise类型。 - 修改你的接口,将返回值从
any替换为对应类型的Promise:
export interface State { state: Class; // 替换T为实际返回值类型,比如Promise<string>、Promise<number>,无返回值用Promise<void> myAsyncFunction(): Promise<T>; }
- 实现该接口的类中,你可以给方法加上
async关键字,TypeScript会自动匹配接口的返回值要求:
class MyStateImpl implements State { state: Class; async myAsyncFunction(): Promise<T> { // 这里写异步逻辑,比如await调用其他异步方法 return await someAsyncTask(); } }
内容的提问来源于stack exchange,提问作者jauki
相关产品推荐
相关产品推荐

