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

Как прямо сейчас получить отчет из базы данных если он готовится 10-15 минут

Используй Long Polling или WebSockets для получения уведомления о готовности отчета.

Пример с Long Polling:

javascript
async function checkReportStatus(reportId) {
  while (true) {
    const response = await fetch(`/api/report/status?id=${reportId}`);
    const { status, url } = await response.json();
    
    if (status === 'ready') {
      window.location.href = url; // Скачать отчет
      break;
    }
    
    await new Promise(resolve => setTimeout(resolve, 5000)); // Проверяем каждые 5 сек
  }
}

Альтернативы:

  • Server-Sent Events (SSE) – если сервер поддерживает.
  • WebSockets – для мгновенных уведомлений.
  • Polling – простой, но менее эффективный вариант.

Если отчет уже готов, но долго генерируется, можно добавить прогресс-бар или уведомление о статусе.

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

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

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

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