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

Как устроены потоки в JS

В JavaScript потоки реализованы через Event Loop, который обеспечивает асинхронное выполнение кода. JS однопоточен, но использует механизм неблокирующего ввода/вывода.

Основные компоненты:

  1. Call Stack — стек вызовов синхронных функций.
  2. Web APIs — API браузера (setTimeout, fetch и т.д.).
  3. Callback Queue — очередь колбэков после выполнения асинхронных операций.
  4. Event Loop — проверяет Call Stack и переносит колбэки из очереди в стек, когда он пуст.

Пример:

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

Вывод:

text
Start
End
Promise
Timeout

Примечание: Микрозадачи (Promise) выполняются перед макрозадачами (setTimeout).

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

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

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

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