max-nested-callbacks
Ограничивает максимальную глубину вложенности обратных вызовов
Многие библиотеки JavaScript используют шаблон обратных вызовов для управления асинхронными операциями. Программе любой сложности, скорее всего, потребуется управлять несколькими асинхронными операциями с различными уровнями параллелизма. Частая ошибка, которую легко допустить, — вложение обратных вызовов: чем глубже они вложены, тем сложнее читать код.
foo(function () {
bar(function () {
baz(function() {
qux(function () {
});
});
});
});
Подробности правила
Это правило ограничивает максимальную глубину вложенности обратных вызовов, чтобы повысить ясность кода.
Параметры
Это правило принимает числовой параметр или объект:
-
"max"(по умолчанию10) задаёт максимальную глубину вложенности обратных вызовов
Устарело: свойство объекта maximum устарело; вместо него используйте свойство объекта max.
max
Примеры неправильного кода для этого правила с параметром { "max": 3 }:
/*eslint max-nested-callbacks: ["error", 3]*/
foo1(function() {
foo2(function() {
foo3(function() {
foo4();
});
});
});
Примеры правильного кода для этого правила с параметром { "max": 3 }:
/*eslint max-nested-callbacks: ["error", 3]*/
foo1(handleFoo1);
function handleFoo1() {
foo2(handleFoo2);
}
function handleFoo2() {
foo3(handleFoo3);
}
function handleFoo3() {
foo4(handleFoo4);
}
function handleFoo4() {
foo5();
}
Связанные правила
Версия
Это правило появилось в ESLint v0.2.0.
Дополнительная литература
Ресурсы
© OpenJS Foundation and other contributors
Licensed under the MIT License.
https://eslint.org/docs/latest/rules/max-nested-callbacks