Skip to content

Commit

Permalink
Try to avoid constant reloading problem
Browse files Browse the repository at this point in the history
  • Loading branch information
hwbllmnn committed Apr 27, 2022
1 parent 0479861 commit d0587b0
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 23 deletions.
43 changes: 22 additions & 21 deletions public/sw.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
var doCaching = true;
let doCaching = true;

self.addEventListener('message', (event) => {
self.addEventListener('message', event => {
if (event.data && event.data.type === 'STOP_CACHING') {
doCaching = false;
}
Expand All @@ -9,23 +9,24 @@ self.addEventListener('message', (event) => {
}
});

self.addEventListener('fetch', function (event) {
event.respondWith(
caches.open('react-geo-baseclient').then(function (cache) {
if (!doCaching) {
return fetch(event.request);
}
return cache.match(event.request).then(function (response) {
return (
response ||
fetch(event.request).then(function (netResponse) {
if (!event.request.url.startsWith('chrome')) {
cache.put(event.request, netResponse.clone());
}
return netResponse;
})
);
});
}),
);
const putInCache = async (request, response) => {
const cache = await caches.open('v1');
await cache.put(request, response);
};

const cacheFirst = async request => {
const cache = await caches.open('v1');
const responseFromCache = await cache.match(request);
if (responseFromCache) {
return responseFromCache;
}
const responseFromNetwork = await fetch(request);
if (doCaching) {
putInCache(request, responseFromNetwork.clone());
}
return responseFromNetwork;
};

self.addEventListener('fetch', event => {
event.respondWith(cacheFirst(event.request));
});
4 changes: 2 additions & 2 deletions src/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -118,8 +118,8 @@ const renderApp = async () => {
}
};

window.addEventListener('load', () => {
if (!navigator.serviceWorker.controller) {
navigator.serviceWorker.register('/sw.js');
});
}

renderApp();

0 comments on commit d0587b0

Please sign in to comment.