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

Что выполняется первым: Promise или setTimeout

Порядок выполнения зависит от их положения в Event Loop.

  1. Promise (микрозадача) выполнится сразу после текущего синхронного кода, до перехода к макрозадачам (setTimeout).
  2. setTimeout (макрозадача) попадает в очередь после всех микрозадач.

Пример:

javascript
setTimeout(() => console.log('timeout'), 0);
Promise.resolve().then(() => console.log('promise'));
console.log('sync');

// Вывод:
// sync
// promise
// timeout

Даже при нулевой задержке setTimeout выполнится после Promise, так как микрозадачи имеют приоритет.

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

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

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

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