Встречается на собеседованиях • сегодня
В каком порядке выведутся значения нескольких одинаковых SetTimeout
Порядок выполнения setTimeout с одинаковой задержкой зависит от порядка их объявления. Они выполнятся в том же порядке, в котором были вызваны, но с небольшой оговоркой:
javascript
setTimeout(() => console.log('First'), 0);
setTimeout(() => console.log('Second'), 0);
setTimeout(() => console.log('Third'), 0);
// Вывод: First, Second, Third Однако, если внутри одного setTimeout выполняется долгая синхронная операция, следующий setTimeout может начать выполняться позже.
javascript
setTimeout(() => {
console.log('First');
for (let i = 0; i < 1e9; i++) {} // блокирующая операция
}, 0);
setTimeout(() => console.log('Second'), 0);
// Вывод: First (с задержкой), затем Second В целом, порядок гарантирован, если задержки одинаковы и нет блокирующего кода.

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