unicorn/no-useless-promise-resolve-reject 細部なルール
何を実行するか
非同期関数、または Promise#then/catch/finally コールバック内で Promise.resolve や Promise.reject でラップされた値を返すことを禁止します。
なぜ問題なのか
非同期関数や Promise#then/catch/finally コールバック内で戻り値を Promise.resolve でラップすることは不要です。なぜなら、非同期関数およびプロミスコールバック関数のすべての戻り値はすでに Promise でラップされているからです。同様に、エラーを Promise.reject でラップして返すことは単に throw するのと同等です。アサイクロニックジェネレーターでも同様に、yield した場合も同じです。
例
このルールに対して誤りなコードの例:
javascript
async () => Promise.resolve(bar);このルールに対して正しいコードの例:
javascript
async () => bar;設定
このルールは以下のプロパティを持つ設定オブジェクトを受け入れます。
allowReject
type: boolean
default: false
true に設定された場合、非同期関数およびプロミスコールバック内での Promise.reject の使用を許可します。
使用方法
設定ファイルまたは CLI でこのルールを有効化するには、以下のようにします:
json
{
"rules": {
"unicorn/no-useless-promise-resolve-reject": "error"
}
}bash
oxlint --deny unicorn/no-useless-promise-resolve-reject