theWaR_13
@theWaR_13

Альтернатива Web worker или как заставить его работать?

Добрый день. Пишу небольшой проект, в котором есть сложные вычисления. В проекте подключено около 10 сторонних библиотек. Если из главного .js файла все работает, то при попытке переноса в Web worker, библиотеки начинают выкидывать ошибки. Я пробовал импортировать скрипты и каждый отдельно, и объединял в один файл - результат один и тот же. Я так понимаю, что проблема в том, что у воркеров нету доступа к некоторым функциям и из-за этого он и не работает (сугубо моя догадка). Вопрос заключается в том, есть ли какой-либо другой вариант асинхронного выполнения сложных вычислений? Или как все-таки обойти ограничения воркера и выполнить вычисления в нем? Спасибо.
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
@Large
Воркер не дает работать с дом элементами и выполнять синхронные запросы - это собственно основные ограничения. Для вычислений он подходит идеально, просто код вычислений должен находится в самом воркере/воркерах. С основным скриптом он может общаться посредством сообщений. То есть не получится выполнить произвольный код в воркере, но можно выбрать из библиотек только нужные функции и завернуть их в воркер где и выполнить.

Вариант без воркера - делать вычисления поэтапно и вставлять промежутки setTimeout между этапами, чтобы не потерять отзывчивость пользовательского интерфейса.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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