Импорт прайс-листа на 30 МБ замораживает страницу на восемь секунд
Менеджер загружает CSV-файл прайс-листа, страница разбирает его в браузере и показывает предпросмотр. Пока идёт разбор, вкладка не реагирует: не прокручивается, не работает кнопка «Отмена», индикатор прогресса не двигается.
Какое решение правильное?
- Перенести разбор в Web Worker и получать результат и прогресс сообщениями
- Обернуть разбор в async-функцию, чтобы он не блокировал интерфейс
- Запустить разбор внутри setTimeout(…, 0)
- Показывать анимированный спиннер, чтобы пользователь понимал, что идёт работа
