const cacheAssets = [ '/pwa/index.html', '/pwa/testdata.json', ] const cacheName = '00004'; // Call Install Event self.addEventListener('install', e => { console.log('Service Worker: Installed'); e.waitUntil( async () => { cache = await caches.open(cacheName); console.log('Service Worker: Caching Files', cache); await cache.addAll(cacheAssets); self.skipWaiting(); } ); }); // Call Activate Event self.addEventListener('activate', e => { console.log('Service Worker: Activated'); // Remove unwanted caches e.waitUntil( caches.keys().then(cacheNames => { return Promise.all( cacheNames.map(cache => { if (cache !== cacheName) { console.log('Service Worker: Clearing Old Cache'); return caches.delete(cache); } }) ); }) ); }); // Call Fetch Event self.addEventListener('fetch', e => { console.log('Service Worker: Fetching'); e.respondWith(fetch(e.request).catch(() => caches.match(e.request))); });