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

Когда наступает ожидание в setTimeout

Функция setTimeout добавляет колбэк в очередь макрозадач (task queue) после указанной задержки. Ожидание наступает не сразу, а только когда:

  1. Истекло время задержки
  2. Стек вызовов полностью очистился (завершился текущий синхронный код)
  3. Очередь микрозадач (Promise, MutationObserver) пуста

Пример:

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

// Вывод:
// Start
// End
// Promise
// Timeout

Даже при задержке 0ms колбэк выполнится не сразу, а после всех синхронных операций и микрозадач. Это важно учитывать при работе с асинхронным кодом.

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

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

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

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