Skip to content
← Back to rules

promise/prefer-await-to-callbacks Style

它的作用

该规则鼓励使用 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) => {});

如何使用

To enable this rule using the config file or in the CLI, you can use:

json
{
  "plugins": ["promise"],
  "rules": {
    "promise/prefer-await-to-callbacks": "error"
  }
}
ts
import { defineConfig } from "oxlint";

export default defineConfig({
  plugins: ["promise"],
  rules: {
    "promise/prefer-await-to-callbacks": "error",
  },
});
bash
oxlint --deny promise/prefer-await-to-callbacks --promise-plugin

版本

此规则于 v0.9.10 中添加。

参考资料