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

Первее выполнится timeout или Promise

setTimeout и Promise имеют разный порядок выполнения из-за механизма Event Loop.

  1. Promise выполнится в текущем цикле Event Loop (микротаска).
  2. setTimeout попадает в очередь макротасок и выполнится в следующем цикле.

Пример:

javascript
console.log('Start');

setTimeout(() => console.log('Timeout'), 0);

Promise.resolve().then(() => console.log('Promise'));

console.log('End');

Вывод:

text
Start
End
Promise
Timeout

Даже при setTimeout(..., 0) Promise выполнится раньше, так как микротаски имеют приоритет.

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

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

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

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