Javascript 无限循环中的服务工作者

Javascript 无限循环中的服务工作者,javascript,service-worker,Javascript,Service Worker,我正在创建一个项目,其中我有一个serviceWorker,它每2秒向php中的API发送一个请求,如果回答是“hi”,它会显示一个通知,但如果您关闭浏览器并重新打开或花费大约1分钟的时间,serviceWorker就会停止 即使在页面关闭的情况下,它也能工作,但正如我前面所说的,只有1分钟。有人知道如何让服务人员不停下来,或者至少有更长的时间吗 代码: install事件仅在»install«时触发,因此如果您离开该页面并重新打开它,则服务工作者已安装,这就是它不会再次开始请求服务器的原因 如

我正在创建一个项目,其中我有一个serviceWorker,它每
2
秒向php中的API发送一个请求,如果回答是
“hi”
,它会显示一个通知,但如果您关闭浏览器并重新打开或花费大约1分钟的时间,serviceWorker就会停止

即使在页面关闭的情况下,它也能工作,但正如我前面所说的,只有
1
分钟。有人知道如何让服务人员不停下来,或者至少有更长的时间吗

代码:
install
事件仅在»install«时触发,因此如果您离开该页面并重新打开它,则服务工作者已安装,这就是它不会再次开始请求服务器的原因

如果希望服务人员(重新)开始页面访问,可以向其发送消息,或将该活动绑定到特定请求,如本例中的
/
。因此,每当浏览器加载页面的索引时,它就会开始轮询。但如果页面已打开,则应发送消息


解决您的问题的»正确的»«方法是,但据我所知,它是。所以,你必须克服这个限制。

也许可以尝试使用网络工作者@MoxGeek-我想你不明白
网络工作者的作用是什么。。。完全没有更新我不明白你为什么需要一个服务人员来完成你要做的事情。@vsync,我用的是网络工作者,也许我不明白这个问题。:)@MoxGeek-我认为没有人理解这个问题:)
self.addEventListener('install', function(event) {
  setInterval(() => {
    fetch('teste.php').then(function(response) {
      return response.text();
    }).then(function(data) {
      var options = {
        body: 'Ja gastaste 4GB do teu tarifario, mas va ainda tens 1GB',
        icon: 'https://cdn130.picsart.com/274112228042211.png?r1024x1024',
        vibrate: [100, 50, 100]
      };
      if (data == "oi") {
        if (Notification.permission == 'granted') {
          return self.registration.showNotification('IMM | Limite de internet', options);
        }
      }
    });
  }, 2000);
});