Встречается на собеседованиях • сегодня
В чем разница между setTimeout и setImmediate
setTimeout и setImmediate выполняют код асинхронно, но в разных фазах цикла событий Node.js.
setTimeout(callback, delay):- Добавляет
callbackв очередь таймеров после указанногоdelay(минимум 1мс, даже если 0). - Выполнится в фазе Timers цикла событий.
- Добавляет
setImmediate(callback):- Добавляет
callbackв очередь Check. - Выполнится сразу после фазы Poll (I/O), но до Timers.
- Добавляет
Пример:
js
setTimeout(() => console.log('timeout'), 0);
setImmediate(() => console.log('immediate'));В этом примере порядок вывода может быть разным, так как зависит от задержки процесса. Но если оба вызываются внутри I/O цикла (например, в fs.readFile), setImmediate всегда выполнится первым.

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