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