跳至內容

promise/prefer-await-to-callbacks 風格

作用

此規則鼓勵使用 async/await 來處理非同步程式碼,而非傳統的回呼函式。async/await 在 ES2017 中引入,為編寫非同步程式碼提供了更清晰、更簡潔的語法,使其更易於閱讀和維護。

為何這不好?

使用回呼可能會導致複雜、巢狀的結構,稱為「回呼地獄」,這使得程式碼難以閱讀和維護。此外,使用回呼進行錯誤處理可能會變得繁瑣,而 async/await 允許使用更直接的 try/catch 區塊來管理錯誤。

範例

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

js
cb();
callback();
doSomething(arg, (err) => {});
function doSomethingElse(cb) {}

此規則的 正確 程式碼範例

js
await doSomething(arg);
async function doSomethingElse() {}
function* generator() {
  yield yieldValue((err) => {});
}
eventEmitter.on("error", (err) => {});

參考資料

以 MIT 授權條款發布。