javascript - Create-React-App - 修改 serviceWorker 以轮询新更新?

标签 javascript reactjs service-worker create-react-app progressive-web-apps

我正在努力将请求的功能添加到我的 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);

简单!

关于javascript - Create-React-App - 修改 serviceWorker 以轮询新更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57810978/

相关文章:

javascript 原型(prototype)继承和 'new' 关键字

javascript - 如何在 jQuery 中使用 if 语句

javascript - 如何使用嵌套 array.map 将板上的位置从 React JS 中的 Board 发送到 Cell 组件

html - 在 ServiceWorker 中访问 indexedDB。竞争条件

javascript - JS Service Worker 在我不希望它运行的页面上运行

javascript - Galleriffic 灯箱

javascript - 为什么我的 JavaScript 正则表达式不起作用?

javascript - 如何在React.js中以异步方式加载悬停效果的图像?

javascript - 如何使 react Bootstrap 工具提示适合容器?

javascript - 如何注册 Service Worker?