Я вижу пару примеров, которые Джейсон Теплиц написал об использовании веб-работников в Angular 2. Angular 4 CLI теперь поддерживает платформенный рабочий, который запускает приложение в рабочем потоке. Хорошим примером этого является факторный пример. Или это шаг за шагом пример.
-
Использование platform-worker гарантирует, что все длинные вычислительные операции выполняются в веб-работнике? Или мне нужно создать еще один Angular модуль (а не модуль приложения), который использует платформенный рабочий для выполнения длительной операции вычисления? В результате будут два модуля, один для приложения, а другой для длительной операции?
-
Должен ли я создать отдельный
Worker
, как в этом пример, чтобы создать рабочие потоки? -
Как обновить пользовательский интерфейс с ходом выполнения операции? Я предполагаю, что если длинная операция выполняется в цикле for, у нее не будет возможности сообщить UI о прогрессе, пока этот цикл не будет завершен? Должен ли я разделить длинную операцию на несколько небольших операций и обновить пользовательский интерфейс?