await-thenable
不允許等待不是 thenable 的值。
✅
延伸 「plugin:@typescript-eslint/建議類型已檢查"
在 ESLint 設定檔 中啟用此規則。
💡
此規則報告的一些問題可由編輯器手動修復 建議.
💭
此規則需要 類型資訊 來執行。
「Thenable」值是一個具有 then
方法的物件,例如 Promise。await
關鍵字通常用於擷取呼叫 Thenable 的 then
方法的結果。
如果 await
關鍵字用於不是 Thenable 的值上,則會立即直接解析該值。儘管這樣做是有效的 JavaScript,但通常是程式設計錯誤,例如忘記加上括弧來呼叫會回傳 Promise 的函式。
.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/await-thenable": "error"
}
};
在試用場地中試試此規則 ↗
範例
- ❌ 不正確
- ✅ 正確
選項
此規則不可設定。
何時不使用它
如果你想允許程式碼await
非 Promise 值。例如,如果你的架構正在從一種非同步程式碼樣式轉換到另一種,可能會需要不必要地加入 await
。這通常不是首選,但有時候可以用於視覺一致性。你可能會考慮在這些特定情況中使用 ESLint 禁止註解,而不要完全停用此規則。
類型檢查的 lint 規則比傳統的 lint 規則功能更多,但需要設定 類型檢查的 lint。如果你在啟用類型檢查規則後發生效能下降,請參閱 效能疑難排解。