programing

오류 TS1243: 'async' 수정자를 'abstract' 수정자와 함께 사용할 수 없습니다.

bestprogram 2023. 6. 11. 11:04

오류 TS1243: 'async' 수정자를 'abstract' 수정자와 함께 사용할 수 없습니다.

제 프로젝트에서, 저는Typescript@4.0.3그리고 그것은 잘 작동했지만, 나는 이제 그것의 버전을 최신 버전으로 업데이트했습니다.Typescript@4.1.3그리고 그것은 저에게 많은 오류를 주고 있습니다.설명서에서 아무것도 찾을 수 없고 이 문제를 해결하는 방법에 대한 아이디어도 얻을 수 없습니다.

내 코드는 다음과 같습니다.

abstract class SystemValidator {

    constructor() {}

    abstract async validate(addr:Addr):Promise<[boolean, Addr[], SystemValidationErrors]>

}

오류가 발생합니다.

오류 TS1243: 'async' 수정자를 'abstract' 수정자와 함께 사용할 수 없습니다.

이 문제를 해결할 방법이 있습니까?제거해야 합니까?aync여기서?

예, 제거해야 합니다.async.

강제로 사용해서는 안 됩니다.async이를 구현하는 클래스에 적합합니다.반품할 수 있는 다른 방법이 있습니다.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();

놀이터 링크

언급URL : https://stackoverflow.com/questions/65355164/error-ts1243-async-modifier-cannot-be-used-with-abstract-modifier