我正在努力向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);


简单!

10-07 17:38