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

Как можно организовать ассинхронность браузера

В браузере асинхронность реализуется через:

  1. Event Loop - основной механизм обработки асинхронных операций. Состоит из:

    • Call Stack (стек вызовов)
    • Callback Queue (очередь задач)
    • Microtask Queue (очередь микрозадач)
  2. API для асинхронности:

    • setTimeout/setInterval - макрозадачи
    • Promises - микрозадачи
    • async/await - синтаксический сахар над промисами
    • Web Workers - параллельные потоки
    • Event Listeners - обработка событий

Пример с Promise:

js
function fetchData() {
  return new Promise((resolve) => {
    setTimeout(() => resolve('Данные загружены'), 1000);
  });
}

async function getData() {
  const data = await fetchData();
  console.log(data); // После 1 сек: "Данные загружены"
}

Приоритет выполнения:

  1. Синхронный код
  2. Микрозадачи (Promise, queueMicrotask)
  3. Макрозадачи (setTimeout, события)
  4. Render (перерисовка DOM)
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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