Можно ли загрузить веб-работника внутри обещания? - PullRequest
0 голосов
/ 03 января 2019

Привет, я действительно новичок в Angular и пытаюсь понять веб-работников.

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

Так что мое решение состоит в том, чтобы заключить на буксире рабочих с обещанием и позвонить, например, $ q.all () для вывода выходных данных обоих работников, когда они закончили собирать всю необходимую информацию.

Но мое текущее понимание инициализации веб-работников заключается в том, что я могу их вызвать, например, в
- webpack.config.js
или
- tsconfig.worker.json Поэтому я не знаю, как или если я не могу позвонить всем работникам по собственному сценарию.

1 Ответ

0 голосов
/ 03 января 2019

Это должно быть возможно, но не традиционным способом.После 1 минуты поиска в Google я нашел статью о Codeburst, объясняющую, что и как происходит с асинхронными работниками:

https://codeburst.io/promises-for-the-web-worker-9311b7831733

В двух словах: упаковав worker в Class и создание экземпляра Class, связывающего атрибут onmessage с construct, вы можете полностью перехватить / обработать все функции.

...