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