Skip to content
← Back to rules

typescript/await-thenable 정확성

This rule is turned on by default when type-aware linting is enabled.
💭 This rule requires type information.
An auto-fix is available for this rule.

작동 방식

이 규칙은 Thenable이 아닌 값을 기다리는 것을 금지합니다.

왜 문제인가요?

비-프로미스 유형의 값을 기다리는 것은 유효한 자바스크립트입니다(즉시 해결됨). 그러나 이 방식은 이러한 동작을 인지하지 못한 독자에게 혼란을 줄 수 있습니다. 또한 프로그래머의 실수일 가능성이 있으며, 예를 들어 프로미스를 반환하는 함수를 호출할 때 괄호를 빠뜨리는 경우 등이 포함될 수 있습니다.

예시

이 규칙에 적합하지 않은 코드 예시:

await 12;
await (() => {});

// 프로미스가 아닌 값들
await Math.random;
await { then() {} };

// 이것은 프로미스가 아님 - 프로미스를 반환하는 함수임
declare const getPromise: () => Promise<string>;
await getPromise;

이 규칙에 적합한 코드 예시:

await Promise.resolve('value');
await Promise.reject(new Error());

// 프로미스 유사 값들
await {
  then(onfulfilled, onrejected) {
    onfulfilled('value');
  },
};

// 이것은 프로미스임 - 함수를 호출하여 생성됨
declare const getPromise: () => Promise<string>;
await getPromise();

사용 방법

설정 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:

json
{
  "rules": {
    "typescript/await-thenable": "error"
  }
}
bash
oxlint --type-aware --deny typescript/await-thenable

참고 자료