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

Является ли setTimeout асинхронной операцией

Да, setTimeout является асинхронной операцией, несмотря на то что выполняется в одном потоке с основным кодом. Он помещает callback в очередь макрозадач (Task Queue), который выполнится после завершения текущего стека вызовов и при условии, что очередь микрозадач (Microtask Queue) пуста.

Пример:

javascript
console.log('Start');
setTimeout(() => console.log('Timeout'), 0);
Promise.resolve().then(() => console.log('Promise'));
console.log('End');

// Вывод:
// Start
// End
// Promise
// Timeout

Здесь setTimeout сработает после промиса, так как микрозадачи (промисы) имеют приоритет над макрозадачами (таймеры).

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

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

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

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