Встречается на собеседованиях • сегодня
Как setInterval работает в Event Loop
setInterval добавляет переданную функцию в очередь макрозадач через указанный интервал времени. Он работает в Event Loop следующим образом:
- При вызове
setInterval(callback, delay)создаётся таймер в Web API. - Через каждые
delayмиллисекунд callback помещается в очередь задач. - Когда стек вызовов пуст, Event Loop берёт callback из очереди и выполняет его.
Важные нюансы:
- Интервал не гарантирует точное время выполнения из-за занятости Event Loop
- Если выполнение callback занимает больше времени, чем интервал, следующие вызовы будут ждать
Пример:
javascript
setInterval(() => {
console.log('Tick');
}, 1000);Для точного планирования лучше использовать рекурсивный setTimeout:
javascript
function tick() {
console.log('Tick');
setTimeout(tick, 1000);
}
tick();
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы