首页 > 解决方案 > 确保在打开 Angular-PWA 时执行 Http-Requests

问题描述

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

请求被放置在 ngOnInit() 中。

是否有任何生命周期方法可以保证在组件进入前台时执行它?

标签: angularprogressive-web-appsservice-workerangular-service-worker

解决方案


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

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

页面生命周期 API确实涵盖了其中的一些内容,但没有一个事件会在页面加载时以及页面再次可见时触发。


推荐阅读