需要 await
禁止非同步函式,這些函式不回傳 Promise 也沒有
await
表達式。
✅
延伸 "plugin:@typescript-eslint/recommended-type-checked"
在 ESLint 設定檔 中啟用這項規則。
💭
這項規則需要 型別資訊 才能執行。
這項規則延伸基本的 eslint/require-await
規則。它使用型別資訊允許回傳 Promise 的函式標記為 async
,而不用包含 await
表達式。
範例
這項規則對於正確程式碼的範例
async function returnsPromise1() {
return Promise.resolve(1);
}
const returnsPromise2 = () => returnsPromise1();
選項
如何使用
.eslintrc.cjs
module.exports = {
"rules": {
// Note: you must disable the base rule as it can report incorrect errors
"require-await": "off",
"@typescript-eslint/require-await": "error"
}
};
在測試場域中嘗試此規則 ↗
何時不用
經過類型檢查的 Linter 規則比傳統的 Linter 規則更強大,但需要設定經過類型檢查的 Linting。如果你在啟用經過類型檢查的規則後發現效能下降,請參考效能問題排除。