unicorn/no-useless-promise-resolve-reject 吹毛求疵
此規則的作用
禁止在 async 函式或 Promise#then
/catch
/finally
回呼中,回傳包裝在 Promise.resolve
或 Promise.reject
中的值。
為什麼這樣不好?
在 async 函式或 Promise#then
/catch
/finally
回呼中,將回傳值包裝在 Promise.resolve
中是不必要的,因為 async 函式和 promise 回呼函式中的所有回傳值已經被包裝在 Promise
中。同樣地,回傳包裝在 Promise.reject
中的錯誤等同於直接 throw
拋出錯誤。這對於 async 產生器中的 yield
也是一樣的。
範例
此規則的 不正確 程式碼範例
javascript
async () => Promise.resolve(bar);
此規則的 正確 程式碼範例
javascript
async () => bar;