показывать экран загрузки, когда сервисный работник выбирает новую версию - PullRequest
0 голосов
/ 22 октября 2018

Я использую сервисного работника для кэширования / обновления нашего приложения, но мы хотим «заставить», чтобы у пользователя всегда была самая последняя версия приложения.Причина этого в том, что мы не хотим получать вызовы из предыдущих версий.

Мы блокируем наши вызовы 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);
    });
  });
}

Кажется, я не могу прослушивать события выборки (что я предполагаю, это событие, которое я хочу)

Или есть другой способ простопосмотреть, есть ли новая версия?Или, может быть, есть лучшая библиотека / способ использования сервисного работника, чтобы я получил немного больше контроля?

Надеюсь, кто-нибудь может мне помочь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...