Встречается на собеседованиях • сегодня
Как запустится setTimeout с задержкой в 1 секунду в Event Loop если 1 секунда еще не прошла
setTimeout добавляет колбэк в очередь макрозадач после указанной задержки. Если 1 секунда еще не прошла, колбэк не выполнится - он будет ждать в очереди до завершения текущего стека вызовов и выполнения всех микрозадач (например, промисов).
Пример:
js
console.log('Start');
setTimeout(() => console.log('Timeout'), 1000);
while (new Date().getTime() < start + 2000) {} // блокирующий код на 2 секунды
console.log('End');Вывод:
text
Start
End
TimeoutДаже если задержка 1 секунда, колбэк выполнится только после завершения блокирующего кода (~2 секунды). Event Loop не может прервать текущий синхронный код.

Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы