| @@ -94,7 +94,7 @@ self.addEventListener('activate', event => { | |||
| self.clients.claim(); | |||
| }); | |||
| // fetch events (Network first strategy, no cache update after install) | |||
| // fetch events (Network first strategy, cache update after fetch) | |||
| self.addEventListener('fetch', function (event) { | |||
| event.respondWith(fromNetwork(event.request, 30000).catch(function () { | |||
| return fromCache(event.request); | |||
| @@ -106,6 +106,10 @@ function fromNetwork(request, timeout) { | |||
| var timeoutId = setTimeout(reject, timeout); | |||
| fetch(request).then(function (response) { | |||
| clearTimeout(timeoutId); | |||
| var responseClone = response.clone(); | |||
| caches.open(staticCacheName).then(function (cache) { | |||
| cache.put(request, responseClone); | |||
| }); | |||
| fulfill(response); | |||
| }, reject); | |||
| }); | |||