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