Ответ
Callback Hell (или "ад колбэков") — это ситуация, когда множество вложенных асинхронных колбэков усложняет чтение и поддержку кода. Возникает при цепочке асинхронных операций, где каждый следующий шаг зависит от предыдущего.
Пример:
getData(function(a) {
getMoreData(a, function(b) {
getEvenMoreData(b, function(c) {
console.log(c); // Уже 3 уровня вложенности!
});
});
});
Проблемы:
- Сложность чтения (пирамида кода)
- Трудность обработки ошибок
- Сложность повторного использования
Решение:
- Промисы (Promises)
- Async/Await
- Модули (разбиение кода)
- Библиотеки типа async.js
Современные подходы (async/await) делают код плоским и читаемым:
async function fetchData() {
const a = await getData();
const b = await getMoreData(a);
const c = await getEvenMoreData(b);
console.log(c);
}