Встречается на собеседованиях • сегодня
Почему Promise выполняется раньше setTimeout
Promise выполняется в текущем цикле событий (microtask queue), а setTimeout попадает в очередь макрозадач (task queue). Event Loop сначала обрабатывает все микрозадачи (включая Promise), а только потом переходит к макрозадачам.
js
console.log('Start');
setTimeout(() => console.log('Timeout'), 0);
Promise.resolve().then(() => console.log('Promise'));
console.log('End');
// Output:
// Start
// End
// Promise
// TimeoutДаже при нулевой задержке setTimeout, Promise выполнится раньше, так как микрозадачи имеют приоритет в цикле событий.

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