unicorn/no-single-promise-in-promise-methods 正しさ
何をするか
Promise.all()、Promise.any()、Promise.race() に要素が1つの配列を渡すことを禁止
なぜ問題か
Promise.all()、Promise.any()、Promise.race() に要素が1つの配列を渡すのは、誤りの可能性が高い。
例
このルールに違反するコードの例:
javascript
async function bad() {
const foo = await Promise.all([promise]);
const foo = await Promise.any([promise]);
const foo = await Promise.race([promise]);
const promise = Promise.all([nonPromise]);
}このルールに準拠するコードの例:
javascript
async function good() {
const foo = await promise;
const promise = Promise.resolve(nonPromise);
const foo = await Promise.all(promises);
const foo = await Promise.any([promise, anotherPromise]);
const [{ value: foo, reason: error }] = await Promise.allSettled([promise]);
}利用方法
設定ファイルまたは CLI でこのルールを有効化するには、以下のようにします:
json
{
"rules": {
"unicorn/no-single-promise-in-promise-methods": "error"
}
}bash
oxlint --deny unicorn/no-single-promise-in-promise-methods