Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Node.js: callback hell, callback, node.js, лесенка

Что такое глубоко вложенные коллбэки и как их предотвратить?

Этот вопрос проверяет понимание callback hell и умение управлять асинхронным кодом в Node.js.

Короткий ответ

Глубоко вложенные коллбэки (callback hell) возникают, когда одна асинхронная функция вызывается внутри другой, создавая сложную и нечитаемую структуру кода. Это можно предотвратить с помощью Promise, async/await или управляющих библиотек.

Длинный ответ

Глубоко вложенные коллбэки, или callback hell, выглядят как "лесенка" из вложенных функций. Такой код сложно читать и поддерживать:

  • Пример callback hell:

    fs.readFile('file1.txt', 'utf8', (err, data1) => {
      	fs.readFile('file2.txt', 'utf8', (err, data2) => {
        		fs.readFile('file3.txt', 'utf8', (err, data3) => {
          			console.log('Все файлы прочитаны');
        		});
      	});
    });

Как предотвратить:

  • Использование Promises:

    const fs = require('fs').promises;
    
    Promise.all([
      	fs.readFile('file1.txt', 'utf8'),
      	fs.readFile('file2.txt', 'utf8'),
      	fs.readFile('file3.txt', 'utf8')
    ]).then((data) => console.log('Файлы прочитаны', data));
  • Использование async/await:

    const readFiles = async () => {
      	const data1 = await fs.readFile('file1.txt', 'utf8');
      	const data2 = await fs.readFile('file2.txt', 'utf8');
      	const data3 = await fs.readFile('file3.txt', 'utf8');
      	console.log('Все файлы прочитаны');
    };
    readFiles();
  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    6

Навыки

  • Node.js

    Node.js

Ключевые слова

#callback hell

#callback

#node.js

#лесенка

Подпишись на Node.js Developer в телеграм

  • Аватар

    Node.js Guru

    Demetra

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.