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

Как заблокировать поток в JS

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

  1. Бесконечного цикла (не рекомендуется, так как полностью заблокирует интерфейс):
javascript
while(true) {}
  1. Синхронных операций (например, синхронный AJAX):
javascript
const request = new XMLHttpRequest();
request.open('GET', '/some-url', false); // false делает запрос синхронным
request.send(null);

Лучшие альтернативы:

  • Используйте setTimeout или setInterval для асинхронного кода
  • Применя промисы или async/await для работы с асинхронными операциями
  • Web Workers для выноса тяжелых вычислений в отдельный поток

Важно: блокировка основного потока сделает страницу неотзывчивой до завершения операции.

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

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

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

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