Заблокирует ли UI длинный синхронный цикл внутри setTimeout?

Да: setTimeout откладывает начало функции, но её длинный синхронный цикл затем выполняется в основном потоке и блокирует UI.

Короткий ответ

Что ответить на собеседовании

Да: setTimeout откладывает начало функции, но её длинный синхронный цикл затем выполняется в основном потоке и блокирует UI.

Подробный разбор

Ответ с пояснениями

Да: setTimeout откладывает начало функции, но её длинный синхронный цикл затем выполняется в основном потоке и блокирует UI.

Пока цикл не завершится, обработчики ввода и отрисовка не смогут нормально продолжаться. Для CPU-работы используют Web Worker либо небольшие порции с передачей управления. Один setTimeout вокруг всей работы не делает её параллельной.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее