Skip to content
← Back to rules

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

如何使用

要通过配置文件或 CLI 启用 此规则,可以使用:

json
{
  "plugins": ["promise"],
  "rules": {
    "promise/prefer-await-to-callbacks": "error"
  }
}
bash
oxlint --deny promise/prefer-await-to-callbacks --promise-plugin

参考资料