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) => {});