Можно ли использовать NgZone для обнаружения «простаивающего» состояния приложения Angular? - PullRequest
0 голосов
/ 21 мая 2018

Допустим, у нас есть приложение Angular 5+, и я хотел бы запускать определенные «задания» (например, загрузку большего количества данных с сервера через вызов API) во время простоя, когда мы в основном уверены, что пользователь ничего не делает (так как мытакже управлять входами через события ввода).

Можем ли мы использовать NgZone.hasPendingMicrotasks & NgZone.hasPendingMacrotasts для этого?

Практический пример:

  • Angular приложение использует MixPanel для сообщения статистики использования
  • Реализация в настоящее время буферизует данные в виде стека и отправляет их в MixPanel API только тогда, когда стек заполнен (превышает определенный предел)
  • В идеале это должнотакже соответствуют другим критериям (кроме заполнения стека) - в данный момент нет активности.

Я знаю, что это может звучать как микрооптимизация, а также, я думаю, есть лучшие способы справиться с этим (может быть, рабочие), но я хотел бы узнать, есть ли способ увидеть, насколько "загружено" приложение и потенциально использовать время простоя для определенных задачкс.

1 Ответ

0 голосов
/ 05 июня 2018

Для этого можно использовать излучатель ngZone.onStable и ngZone.onUnstable.

...