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

Как назначить задачу в Event Loop

В JavaScript задачи в Event Loop добавляются через механизмы:

  1. Синхронный код - выполняется сразу, блокируя Event Loop
  2. Макрозадачи (setTimeout, setInterval, I/O) - попадают в очередь Task Queue
  3. Микрозадачи (Promises, queueMicrotask, MutationObserver) - имеют приоритет и выполняются между макрозадачами

Пример:

js
console.log('Start'); // Синхронный код

setTimeout(() => console.log('Timeout'), 0); // Макрозадача

Promise.resolve()
  .then(() => console.log('Promise')); // Микрозадача

console.log('End'); // Синхронный код

Вывод:

text
Start
End
Promise
Timeout

Порядок выполнения: синхронный код → все микрозадачи → одна макрозадача → снова микрозадачи (если есть) → следующая макрозадача.

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

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

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

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