update
This commit is contained in:
parent
69be88542a
commit
7a8822bbba
47
html/sw.js
47
html/sw.js
|
@ -23,36 +23,37 @@ self.addEventListener('install', event => {
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
self.addEventListener('fetch', function(evt) {
|
self.addEventListener('fetch', function (evt) {
|
||||||
console.log('The service worker is serving the asset.');
|
console.log('The service worker is serving the asset.');
|
||||||
evt.respondWith(fromNetwork(evt.request, 15000).catch(function () {
|
evt.respondWith(fromNetwork(evt.request, 15000).catch(function () {
|
||||||
return fromCache(evt.request);
|
return fromCache(evt.request);
|
||||||
}));
|
}));
|
||||||
});
|
});
|
||||||
|
|
||||||
function precache() {
|
function precache() {
|
||||||
return caches.open(CACHE).then(function (cache) {
|
return caches.open(CACHE).then(function (cache) {
|
||||||
return cache.addAll([
|
return cache.addAll([
|
||||||
'./controlled.html',
|
'./controlled.html',
|
||||||
'./asset'
|
'./asset'
|
||||||
]);
|
]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function fromNetwork(request, timeout) {
|
function fromNetwork(request, timeout) {
|
||||||
return new Promise(function (fulfill, reject) {
|
return new Promise(function (fulfill, reject) {
|
||||||
var timeoutId = setTimeout(reject, timeout);
|
var timeoutId = setTimeout(reject, timeout);
|
||||||
fetch(request).then(function (response) {
|
fetch(request).then(function (response) {
|
||||||
clearTimeout(timeoutId);
|
clearTimeout(timeoutId);
|
||||||
fulfill(response);
|
fulfill(response);
|
||||||
}, reject);
|
}, reject);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function fromCache(request) {
|
function fromCache(request) {
|
||||||
return caches.open(CACHE).then(function (cache) {
|
return caches.open(CACHE).then(function (cache) {
|
||||||
return cache.match(request).then(function (matching) {
|
return cache.match(request).then(function (matching) {
|
||||||
return matching || Promise.reject('no-match');
|
return matching || Promise.reject('no-match');
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user