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

Какой механизм в JavaScript заставляет ждать выполнение setTimeout

В JavaScript setTimeout использует механизм Event Loop. Когда вызывается setTimeout, его колбэк помещается в очередь Callback Queue после указанной задержки. Event Loop проверяет, пуст ли Call Stack (основной поток выполнения), и только тогда перемещает колбэк из очереди в стек для выполнения.

Пример:

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

Вывод:

text
Start  
End  
Timeout  

Даже при задержке 0 колбэк выполнится после основного кода, так как Event Loop дожидается очистки Call Stack.

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

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

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

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