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

Как реализовать отложенное получение отчета

Для отложенного получения отчета можно использовать setTimeout, Promise с задержкой или Web Workers для тяжелых вычислений.

Пример с Promise:

javascript
function fetchReportWithDelay(reportId, delay) {
  return new Promise((resolve) => {
    setTimeout(() => {
      fetch(`/api/reports/${reportId}`)
        .then(response => response.json())
        .then(resolve);
    }, delay);
  });
}

// Использование:
fetchReportWithDelay(123, 3000).then(console.log);

text

**Web Workers:**  
Если отчет требует сложных вычислений, вынесите их в отдельный поток через `Worker`, чтобы не блокировать UI.  

```javascript
const worker = new Worker('report-worker.js');
worker.postMessage({ action: 'generate', data: largeDataset });
worker.onmessage = (e) => console.log('Report ready:', e.data);

Для серверного API можно использовать WebSockets или Server-Sent Events (SSE) для уведомления о готовности отчета.

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

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

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

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