如何解决在打字稿中,如何定义异步函数的类型?
如果你只是将函数的返回类型声明为 Promise,它就可以工作:
interface SearchFn {
(subString: string): Promise<boolean>;
}
或作为类型声明:
type SearchFn = (subString: string) => Promise<boolean>;
Microsoft 的 TS Linter 将推荐第二种语法。
解决方法
我试图定义一种异步函数,但编译失败,见下文:
interface SearchFn {
async (subString: string): string;
}
class A {
private Fn: SearchFn
public async do():Promise<string> {
await this.Fn("fds") // complain here: cannot invoke an expression whose type lacks a call signature
return ''
}
}
谁能帮我解决这个问题?
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。