theWaR_13
@theWaR_13

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

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

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

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

Войти через центр авторизации
Похожие вопросы
02 нояб. 2024, в 21:08
2000000 руб./за проект
02 нояб. 2024, в 20:34
40000 руб./за проект
02 нояб. 2024, в 20:05
800 руб./в час