我每10秒使用SetTimeout从Web API刷新数据。我在onDestroy中将其停止(干净)。完美地工作
但是,由于我的应用程序是WPA,所以我意识到,当我按下手机的“主页”按钮时,该应用程序仍在进行刷新呼叫。有什么方法(属性或事件)知道应用何时在后台运行,所以我可以停止计时器。
花点时间
答案 0 :(得分:0)
最后找到了一些东西:只需使用HostListener来监视窗口焦点/模糊事件,然后启用/禁用我的计时器即可。
@HostListener('window:focus', ['$event'])
onFocus(event: FocusEvent): void {
this.nasTimer.start();
}
@HostListener('window:blur', ['$event'])
onBlur(event: FocusEvent): void {
this.nasTimer.stop();
}