Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад

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

Этот вопрос проверяет понимание 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

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

#callback hell

#callback

#node.js

#лесенка

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

  • Аватар

    Node.js Guru

    Demetra

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