跳至主要內容

prefer-promise-reject-errors

要求使用「錯誤」物件作為「承諾」拒絕理由。

🔒

延伸 "plugin:@typescript-eslint/strict-type-checked" ESLint 組態 中將啟用此規則。

💭

此規則要求 類型資訊 才能執行。

此規則延伸了基礎 eslint/prefer-promise-reject-errors 規則。它使用類型資訊強制執行「承諾」僅拒絕「錯誤」物件。

範例

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"
}
};

在遊樂場中嘗試這條規則 ↗

何時不使用

經過類型檢查的 linter 規則比傳統的 linter 規則功能更強大,但需要設定經過類型檢查的 linting。如果你在啟用經過類型檢查的規則後遇到效能降低問題,請參閱效能疑難排解

資源

摘自 ESLint 核心,滿滿的 ❤️。