Nul*_*ter 14 abstract-class asynchronous typescript
在我的项目中,我正在使用Typescript@4.0.3
并且运行良好,但现在我将其版本更新为最新Typescript@4.1.3
它给了我很多错误。我无法在文档中找到任何内容,也没有任何想法如何解决此问题。
这是我的代码:
abstract class SystemValidator {
constructor() {}
abstract async validate(addr:Addr):Promise<[boolean, Addr[], SystemValidationErrors]>
Run Code Online (Sandbox Code Playgroud)
}
这给了我错误:
错误 TS1243:“async”修饰符不能与“abstract”修饰符一起使用。
任何想法来解决这个问题?我应该aync
从这里移除吗??
dis*_*nte 20
是的,您应该删除async
.
您不应该强制使用async
实现它的类。还有其他方法可以返回 a Promise
,而不仅仅是async
.
因为对于某些人来说不清楚为什么async
不重要。这里有几种返回承诺的方法:
async function iAmAsync(): Promise<boolean>{
return false;
}
function iAmNotAsync(): Promise<boolean>{
return new Promise(resolve => resolve(false));
}
function iAmAlsoNotAsync(): Promise<boolean>{
return new Observable().pipe(first()).toPromise();
}
iAmAsync().then();
iAmNotAsync().then();
Run Code Online (Sandbox Code Playgroud)