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

await-thenable

Thenableではない値のawaitを禁止します。

拡張 "plugin:@typescript-eslint/recommended-type-checked" ESLint設定 で有効にすると、このルールが有効になります。

💡

このルールによって報告される問題の一部は、エディターの 提案.

で手動で修正できます。

💭 このルールを実行するには 型情報

が必要です。

"Thenable"値とは、Promiseのように`then`メソッドを持つオブジェクトのことです。`await`キーワードは一般的に、Thenableの`then`メソッドを呼び出した結果を取得するために使用されます。

もし`await`キーワードがThenableでない値に使用された場合、その値は即座に直接解決されます。そうすることは有効なJavaScriptですが、多くの場合、Promiseを返す関数を呼び出すための括弧を追加するのを忘れるなど、プログラマーのエラーです。
module.exports = {
"rules": {
"@typescript-eslint/await-thenable": "error"
}
};

.eslintrc.cjs

Playgroundでこのルールを試す ↗

await 'value';

const createValue = () => 'value';
await createValue();
✅ 正しい

Playgroundで開く

オプション

このルールは設定できません。

使用しない場合


Promiseではない値を`await`するコードを許可したい場合。例えば、フレームワークが非同期コードのあるスタイルから別のスタイルに移行している場合、不必要に`await`を含めることが役立つ場合があります。これは一般的には推奨されませんが、視覚的な一貫性を保つために役立つ場合があります。このルールを完全に無効にする代わりに、特定の状況ではESLintのdisableコメントを使用することを検討してください。

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