确保在打开 Angular-PWA 时执行 Http-Requests

问题描述

当我的 Progressive-Web-App 处于开放状态时,我需要发出一个 http 请求。当用户关闭应用程序时,这可以正常工作。但是当它仍在内存中并打开时(例如第二天),我的 http-request 不会执行。

请求被放置在 ngOnInit() 中。

有没有什么生命周期方法可以保证组件出现在前台时执行?

解决方法

除了在 ngOnInit() 函数中发出请求之外,还要监听页面可见性的变化,并在页面再次可见时发出请求。

document.addEventListener('visibilitychange',() => {
  if (document.visibilityState === 'visible') {
    console.log('Page visible,make HTTP requests!');
  }
});

Page Lifecycle API 确实涵盖了其中的一些内容,但没有一个事件会在页面加载时和页面再次可见时触发。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...