Встречается на собеседованиях • сегодня

Что такое асинхронная рекурсия

Асинхронная рекурсия — это рекурсивный вызов асинхронных функций, где каждый шаг ожидает завершения предыдущего перед выполнением. Используется для обработки вложенных структур данных или последовательных операций.

Пример с обходом дерева:

javascript
async function traverseTree(node) {
  if (!node) return;
  
  console.log(node.value);
  
  if (node.children) {
    for (const child of node.children) {
      await traverseTree(child); // Рекурсивный асинхронный вызов
    }
  }
}

Ключевые особенности:

  1. Использует async/await или промисы
  2. Каждый вызов ожидает завершения предыдущего
  3. Может привести к переполнению стека при глубокой рекурсии
  4. Альтернатива — итеративный подход с очередью

Для глубоких структур лучше использовать setImmediate или process.nextTick для избежания переполнения стека.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы