Встречается на собеседованиях • сегодня
Является ли 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 сработает после промиса, так как микрозадачи (промисы) имеют приоритет над макрозадачами (таймеры).

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