#angular #rxjs #wpa
#angular #rxjs #wpa
Вопрос:
Я использую setTimeout для обновления данных из веб-api каждые 10 секунд. Я останавливаю его (очищаю) в onDestroy. Работает отлично 😁
Но, поскольку мое приложение работает на WPA, я понял, что, когда я нажимаю кнопку «Домой» на своем телефоне, приложение все еще выполняет вызовы обновления. Есть ли какой-либо способ (свойство или событие) узнать, когда приложение работает в фоновом режиме, чтобы я мог остановить свой таймер.
Спасибо за потраченное время 😎
Ответ №1:
Наконец-то нашел кое-что: просто использую HostListener для просмотра событий фокусировки / размытия окна, а затем включаю / отключаю мой таймер.
@HostListener('window:focus', ['$event'])
onFocus(event: FocusEvent): void {
this.nasTimer.start();
}
@HostListener('window:blur', ['$event'])
onBlur(event: FocusEvent): void {
this.nasTimer.stop();
}