メインコンテンツにスキップ

Promise拒否理由としてErrorオブジェクトの使用を必須にする

Promiseの拒否理由としてErrorオブジェクトの使用を要求します。

🔒

拡張 "plugin:@typescript-eslint/"厳密な型チェック" ESLint設定 で有効にすると、このルールが有効になります。

💭

このルールを実行するには 型情報 が必要です。

このルールは基本の eslint/prefer-promise-reject-errors ルールを拡張します。型情報を使用して、PromiseError オブジェクトのみで拒否されるようにします。

Promise.reject('error');

const err = new Error();
Promise.reject('an ' + err);

new Promise((resolve, reject) => reject('error'));

new Promise((resolve, reject) => {
const err = new Error();
reject('an ' + err);
});
プレイグラウンドで開く

オプション

eslint/prefer-promise-reject-errors オプションを参照してください。

使用方法

.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"prefer-promise-reject-errors": "off",
"@typescript-eslint/prefer-promise-reject-errors": "error"
}
};

プレイグラウンドでこのルールを試す ↗

使用しない場合

型チェックされたlintルールは、従来のlintルールよりも強力ですが、型チェックされたlintingを設定する必要があります。型チェックルールを有効にした後にパフォーマンスの低下が発生した場合は、パフォーマンストラブルシューティングを参照してください。

リソース

ESLint coreから❤️を込めて。