@leha_trushin

В Firefox и IE виснет контекст при работе промисов, в chromium-based браузерах — нет, почему и как исправить?

Всем привет!
В некотором смысле вопрос в продолжении темы... Есть операция, требующая на выполнение довольно большой промежуток (около пары секунд) времени. Запускаю эту операцию асинхронно в промисе. Операции однотипные, но их множество. Выполняются в цепочке последовательных промисов одна за одной. Так вот, в тот момент, когда начинает выполняться новая асинхронная операция, на все время ее исполнения интерфейс страницы браузера виснет в Firefox и IE, но при этом почему-то работает нормально в chromium-based браузерах. Да, JS по сути своей однопоточный. Асинхронные операции выполняются тогда, когда основной синхронный поток свободен. Но каким образом не дать асинхронному потоку замораживать взаимодействие с интерфейсом в этих двух браузерах?
  • Вопрос задан
  • 155 просмотров
Пригласить эксперта
Ответы на вопрос 1
1 вариант - используйте webworker: https://developer.mozilla.org/ru/docs/DOM/Using_we...
2 вариант - бейте промис на цепочку маленьких. Тогда интерфейс будет более отзывчив
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы