eslint/no-promise-executor-return Pedantic
작동 방식
Promise 실행자 함수에서 값을 반환하는 것을 금지합니다.
왜 나쁜가요?
new Promise 생성자는 실행자 함수를 인수로 받습니다. 이 실행자 함수는 resolve와 reject 매개변수를 가지며, 생성된 Promise의 상태를 제어할 수 있습니다.
실행자 함수의 반환값은 무시됩니다. 실행자 함수에서 값을 반환하는 것은 가능한 오류일 수 있으며, 반환된 값은 사용될 수 없고 Promise에 영향을 주지 않습니다.
예시
이 규칙에 부적절한 코드 예시:
javascript
new Promise((resolve, reject) => {
if (someCondition) {
return defaultResult;
}
getSomething((err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
new Promise((resolve, reject) =>
getSomething((err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
}),
);
new Promise(() => {
return 1;
});이 규칙에 적절한 코드 예시:
javascript
new Promise((resolve, reject) => {
if (someCondition) {
resolve(defaultResult);
return;
}
getSomething((err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
});
new Promise((resolve, reject) => {
getSomething((err, data) => {
if (err) {
reject(err);
} else {
resolve(data);
}
});
});
new Promise((r) => {
r(1);
});구성
이 규칙은 다음 속성을 가진 구성 객체를 수용합니다.
allowVoid
type: boolean
기본값: false
true로 설정하면 void 표현식(예: return void resolve())의 반환을 허용합니다.
사용 방법
구성 파일 또는 명령줄 인터페이스를 통해 이 규칙을 활성화하려면 다음을 사용할 수 있습니다:
json
{
"rules": {
"no-promise-executor-return": "error"
}
}bash
oxlint --deny no-promise-executor-return