Skip to content
← Back to rules

eslint/max-nested-callbacks 严格模式

An auto-fix is available for this rule.

功能说明

强制限制回调函数的最大嵌套深度。此规则有助于控制回调嵌套的复杂度,确保回调不会嵌套过深,从而提升代码的可读性和可维护性。

为何这是问题?

许多 JavaScript 库使用回调模式来管理异步操作。任何具有一定复杂度的程序都可能需要在不同并发层级上处理多个异步操作。一个常见陷阱是过度嵌套回调,使代码更难阅读和理解。

示例

使用 { "max": 3 } 选项时,以下为 错误 的代码示例:

js
foo1(function () {
  foo2(function () {
    foo3(function () {
      foo4(function () {
        // ...
      });
    });
  });
});

使用 { "max": 3 } 选项时,以下为 正确 的代码示例:

js
foo1(handleFoo1);

function handleFoo1() {
  foo2(handleFoo2);
}

function handleFoo2() {
  foo3(handleFoo3);
}

function handleFoo3() {
  foo4(handleFoo4);
}

function handleFoo4() {
  foo5();
}

配置

此规则接受一个配置对象,包含以下属性:

max

type: integer

默认值: 10

max 用于设置回调可以嵌套的最大深度。

使用方法

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

json
{
  "rules": {
    "max-nested-callbacks": "error"
  }
}
bash
oxlint --deny max-nested-callbacks

参考资料