Making periodic Synchronisation
This commit is contained in:
@ -48,19 +48,12 @@ var Types;
|
||||
Types[Types["REFRESH"] = 2] = "REFRESH";
|
||||
})(Types || (Types = {}));
|
||||
|
||||
let rules = [
|
||||
{
|
||||
let rules = [{
|
||||
match: (url) => {
|
||||
return url.indexOf("/api/") >= 0;
|
||||
},
|
||||
type: Types.NOCACHE
|
||||
},
|
||||
{
|
||||
match: (url) => {
|
||||
return url.indexOf("/version_hash") >= 0;
|
||||
},
|
||||
type: Types.NOCACHE
|
||||
},
|
||||
{
|
||||
match: () => {
|
||||
return true;
|
||||
@ -79,7 +72,7 @@ self.addEventListener('fetch', (evt) => {
|
||||
return fromCache(evt.request);
|
||||
case Types.REFRESH:
|
||||
return refresh(evt.request).then(r => {
|
||||
evt.waitUntil(r.refresh.catch(_ => { }));
|
||||
evt.waitUntil(r.refresh.catch(_ => {}));
|
||||
return r.result;
|
||||
});
|
||||
case Types.NOCACHE:
|
||||
@ -95,7 +88,12 @@ async function fromCache(request) {
|
||||
return matching
|
||||
|
||||
let res = await fetch(request.clone());
|
||||
await cache.put(request, res);
|
||||
await cache.put(request, {
|
||||
match: (url) => {
|
||||
return url.indexOf("/version_hash") >= 0;
|
||||
},
|
||||
type: Types.NOCACHE
|
||||
}, res);
|
||||
return await cache.match(request);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user