跳至内容

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 许可证下发布。