我正在努力向SPA添加请求的功能。我们有一些用户长时间不让他们的标签打开我们的应用程序。我们还会推出频繁的更新(有时每天5次更新,因为我们处于预收入状态)。我想知道是否可以修改随Create-React-App一起安装的serviceWorker,以运行轮询循环(也许每10分钟)以轮询应用程序的新更新,而不是仅在初始页面加载时进行。
这样,将其选项卡保持打开状态的用户无需刷新即可接收更新通知。
以前有没有人做到过这样的事情,并且知道如何将其实现到CRA serviceWorker中?
最佳答案
弄清楚了!在registerServiceWorker.js
文件中,我在navigator.serviceWorker.register()
函数的回调中添加了一个简单的setInterval:
// poll for live updates to the serviceWorker
pollingLoopInterval = setInterval(async () => {
await registration.update();
}, POLLING_LOOP_MS);
简单!