跳至內容

unicorn/no-useless-promise-resolve-reject 吹毛求疵

🛠️ 此規則提供自動修正。

此規則的作用

禁止在 async 函式或 Promise#then/catch/finally 回呼中,回傳包裝在 Promise.resolvePromise.reject 中的值。

為什麼這樣不好?

在 async 函式或 Promise#then/catch/finally 回呼中,將回傳值包裝在 Promise.resolve 中是不必要的,因為 async 函式和 promise 回呼函式中的所有回傳值已經被包裝在 Promise 中。同樣地,回傳包裝在 Promise.reject 中的錯誤等同於直接 throw 拋出錯誤。這對於 async 產生器中的 yield 也是一樣的。

範例

此規則的 不正確 程式碼範例

javascript
async () => Promise.resolve(bar);

此規則的 正確 程式碼範例

javascript
async () => bar;

參考資料

以 MIT 許可發布。