This commit is contained in:
Adler Neves 2020-01-01 11:41:57 -03:00
parent 69be88542a
commit 7a8822bbba

View File

@ -23,36 +23,37 @@ self.addEventListener('install', event => {
);
});
self.addEventListener('fetch', function(evt) {
console.log('The service worker is serving the asset.');
evt.respondWith(fromNetwork(evt.request, 15000).catch(function () {
return fromCache(evt.request);
}));
self.addEventListener('fetch', function (evt) {
console.log('The service worker is serving the asset.');
evt.respondWith(fromNetwork(evt.request, 15000).catch(function () {
return fromCache(evt.request);
}));
});
function precache() {
return caches.open(CACHE).then(function (cache) {
return cache.addAll([
'./controlled.html',
'./asset'
]);
});
return caches.open(CACHE).then(function (cache) {
return cache.addAll([
'./controlled.html',
'./asset'
]);
});
}
function fromNetwork(request, timeout) {
return new Promise(function (fulfill, reject) {
var timeoutId = setTimeout(reject, timeout);
fetch(request).then(function (response) {
clearTimeout(timeoutId);
fulfill(response);
}, reject);
});
return new Promise(function (fulfill, reject) {
var timeoutId = setTimeout(reject, timeout);
fetch(request).then(function (response) {
clearTimeout(timeoutId);
fulfill(response);
}, reject);
});
}
function fromCache(request) {
return caches.open(CACHE).then(function (cache) {
return cache.match(request).then(function (matching) {
return matching || Promise.reject('no-match');
});
});
return caches.open(CACHE).then(function (cache) {
return cache.match(request).then(function (matching) {
return matching || Promise.reject('no-match');
});
});
}