服务工作者获取新版本时显示加载屏幕

时间:2018-10-22 13:13:52

标签: angular service-worker angular-service-worker

我正在使用服务工作者来缓存/更新我们的应用程序,但我们要“强制”用户始终拥有该应用程序的最新版本。 这样做的原因是我们不希望收到以前版本的电话。

当我们发现用户正在使用旧版本的应用程序时,我们已经在阻止我们的API调用。

但是现在我们要挂接到Angular Service Worker时,在他获取新版本时显示加载屏幕。 到目前为止,我还没有找到一种方法来做到这一点。 我正在尝试使用以下代码:

if ('serviceWorker' in navigator && environment.production) {
  navigator.serviceWorker.register('/ngsw-worker.js').then(registred => {
    console.log('-- registred worker', registred);

    registred.addEventListener('fetch', event => {
      console.log('-- fetching', event);
    });

    registred.addEventListener('install', event => {
      console.log('-- installing', event);
    });
    registred.addEventListener('updatefound', event => {
      console.log('-- found a update?', event);
    });
  });
}

我似乎听不到提取事件(我假设是我想要的事件)

还是有另一种方式可以查看是否有新版本? 还是可能有更好的库/方法来使用Service Worker,以便我获得更多控制权?

希望有人可以帮助我!

0 个答案:

没有答案