Skip to content
← Back to rules

eslint/max-nested-callbacks Pedantic

무엇을 수행합니까

콜백이 중첩될 수 있는 최대 깊이를 제한합니다. 이 규칙은 콜백의 중첩 복잡도를 제한하여, 콜백이 너무 깊게 중첩되지 않도록 하여 코드의 가독성과 유지보수성을 높입니다.

왜 나쁜가요?

많은 자바스크립트 라이브러리는 비동기 작업을 관리하기 위해 콜백 패턴을 사용합니다. 어느 정도 복잡성이 있는 프로그램은 다양한 수준의 동시성에서 여러 개의 비동기 작업을 관리해야 할 가능성이 큽니다. 일반적인 문제는 콜백을 지나치게 중첩하는 것으로, 이는 코드를 더 읽기 어렵고 이해하기 어려워하게 만듭니다.

예시

{ "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는 콜백이 중첩될 수 있는 최대 깊이를 제한합니다.

사용 방법

이 규칙을 설정 파일 또는 명령줄 인터페이스를 통해 활성화하려면 다음과 같이 사용할 수 있습니다:

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

참고자료