promise/no-multiple-resolved Suspicious
何をしていますか
このルールは、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