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

Как setTimeout работает в Event Loop

setTimeout добавляет переданную функцию в очередь макрозадач (Macrotask Queue) после указанной задержки. Event Loop обрабатывает эту очередь только после выполнения текущего стека вызовов и микрозадач (например, промисов).

Нюансы:

  • Задержка — минимальное время, реальное выполнение может быть больше из-за занятости Event Loop.
  • Если задержка 0, функция всё равно выполнится асинхронно, после текущего синхронного кода и микрозадач.

Пример:

javascript
console.log('Start');
setTimeout(() => console.log('Timeout'), 0);
Promise.resolve().then(() => console.log('Promise'));
console.log('End');

// Вывод:
// Start
// End
// Promise
// Timeout
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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