Встречается на собеседованиях • сегодня
Как 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
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы