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

Что блокирует поток в JavaScript для ожидания выполнения отложенной операции

В JavaScript нет блокировки потока для ожидания отложенных операций, так как он однопоточный и использует событийный цикл. Вместо этого используются асинхронные механизмы:

  1. Callback-функции - передаются как аргументы в асинхронные функции
javascript
setTimeout(() => {
  console.log('Выполнено после задержки');
}, 1000);
  1. Промисы - позволяют обрабатывать результат асинхронной операции
javascript
fetch('url')
  .then(response => response.json())
  .then(data => console.log(data));
  1. Async/await - синтаксический сахар над промисами
javascript
async function getData() {
  const response = await fetch('url');
  const data = await response.json();
  console.log(data);
}

Все эти подходы не блокируют основной поток, а добавляют задачи в очередь событий. Единственное исключение - синхронные операции типа alert() или синхронные XHR-запросы, которые действительно блокируют выполнение.

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

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

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

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