Skip to content
← Back to rules

promise/no-multiple-resolved 의심스러운

작동 방식

이 규칙은 Promise 생성자 내 실행 함수에서 여러 번 해결되는 경로를 경고합니다.

왜 문제가 될까요?

다중 해결/거부 호출은 다음과 같은 문제를 일으킵니다:

  • Promise/A+ 사양을 위반합니다
  • Promise의 동작에 영향을 미치지 않습니다
  • 코드의 의도가 명확하지 않습니다
  • 구현의 로직 오류를 시사할 수 있습니다

예시

이 규칙에 적합하지 않은 예제:

javascript
new Promise((resolve, reject) => {
  fn((error, value) => {
    if (error) {
      reject(error);
    }

    resolve(value); // `reject`와 `resolve` 둘 다 호출될 수 있습니다.
  });
});

이 규칙에 적합한 예제:

javascript
new Promise((resolve, reject) => {
  fn((error, value) => {
    if (error) {
      reject(error);
    } else {
      resolve(value);
    }
  });
});

사용 방법

이 규칙을 설정 파일 또는 CLI에서 활성화하려면 다음을 사용하세요:

json
{
  "plugins": ["promise"],
  "rules": {
    "promise/no-multiple-resolved": "error"
  }
}
bash
oxlint --deny promise/no-multiple-resolved --promise-plugin

참고 자료