错误 TS1243:'async' 修饰符不能与 'abstract' 修饰符一起使用
error TS1243: 'async' modifier cannot be used with 'abstract' modifier
在我的项目中,我使用的是 Typescript@4.0.3
,它运行良好,但现在我将其版本更新到最新的 Typescript@4.1.3
,它给我带来了很多错误。我无法在文档中找到任何内容,也不知道如何解决此问题。
这是我的代码:
abstract class SystemValidator {
constructor() {}
abstract async validate(addr:Addr):Promise<[boolean, Addr[], SystemValidationErrors]>
}
这是给我的错误:
error TS1243: 'async' modifier cannot be used with 'abstract' modifier.
有解决此问题的想法吗??我应该从这里删除 aync
吗?
是的,您应该删除 async
。
你不应该强制使用 async
到实现它的 class。 return 和 Promise
还有其他方法,而不仅仅是 async
.
编辑:
因为有些人不清楚为什么 async
不重要。这里有几种 return 承诺的方法:
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();
在我的项目中,我使用的是 Typescript@4.0.3
,它运行良好,但现在我将其版本更新到最新的 Typescript@4.1.3
,它给我带来了很多错误。我无法在文档中找到任何内容,也不知道如何解决此问题。
这是我的代码:
abstract class SystemValidator {
constructor() {}
abstract async validate(addr:Addr):Promise<[boolean, Addr[], SystemValidationErrors]>
}
这是给我的错误:
error TS1243: 'async' modifier cannot be used with 'abstract' modifier.
有解决此问题的想法吗??我应该从这里删除 aync
吗?
是的,您应该删除 async
。
你不应该强制使用 async
到实现它的 class。 return 和 Promise
还有其他方法,而不仅仅是 async
.
编辑:
因为有些人不清楚为什么 async
不重要。这里有几种 return 承诺的方法:
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();