略過至主要內容

await-thenable

不允許等待不是 thenable 的值。

💡

此規則報告的一些問題可由編輯器手動修復 建議.

💭

此規則需要 類型資訊 來執行。

「Thenable」值是一個具有 then 方法的物件,例如 Promise。await 關鍵字通常用於擷取呼叫 Thenable 的 then 方法的結果。

如果 await 關鍵字用於不是 Thenable 的值上,則會立即直接解析該值。儘管這樣做是有效的 JavaScript,但通常是程式設計錯誤,例如忘記加上括弧來呼叫會回傳 Promise 的函式。

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/await-thenable": "error"
}
};

在試用場地中試試此規則 ↗

範例

await 'value';

const createValue = () => 'value';
await createValue();
在試用場地中開啟

選項

此規則不可設定。

何時不使用它

如果你想允許程式碼await 非 Promise 值。例如,如果你的架構正在從一種非同步程式碼樣式轉換到另一種,可能會需要不必要地加入 await。這通常不是首選,但有時候可以用於視覺一致性。你可能會考慮在這些特定情況中使用 ESLint 禁止註解,而不要完全停用此規則。


類型檢查的 lint 規則比傳統的 lint 規則功能更多,但需要設定 類型檢查的 lint。如果你在啟用類型檢查規則後發生效能下降,請參閱 效能疑難排解

資源