Я использую сервисного работника для кэширования / обновления нашего приложения, но мы хотим «заставить», чтобы у пользователя всегда была самая последняя версия приложения.Причина этого в том, что мы не хотим получать вызовы из предыдущих версий.
Мы блокируем наши вызовы 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);
});
});
}
Кажется, я не могу прослушивать события выборки (что я предполагаю, это событие, которое я хочу)
Или есть другой способ простопосмотреть, есть ли новая версия?Или, может быть, есть лучшая библиотека / способ использования сервисного работника, чтобы я получил немного больше контроля?
Надеюсь, кто-нибудь может мне помочь!