Я работаю с Service Worker и Socket.io для мобильного приложения для подсчета голосов. Оценки хранятся в базе данных и отображаются в HTML, и этот HTML-код кэшируется в Service Worker. Это то, что я хочу выполнить с Service Worker, но если результаты будут обновлены, они покажут старые оценки при обновлении.Service Worker + Socket.io: перезаписать кешированную страницу при новом посещении
Как я могу заставить Service Worker получить последнюю версию HTML-страницы при каждом посещении или обновлении страницы?
Мой код для выборки и кэширования:
this.addEventListener('fetch', function(event) {
event.respondWith(
caches.match(event.request).then(function(response) {
if(response) {
console.log('found cached response', response);
return response;
} else {
console.log('response not in cache, fetching it');
return fetchAndCache(event);
}
})
);
});
function fetchAndCache(event) {
return fetch(event.request).then(function(response) {
return caches.open('UFA-other-1.0').then(function(cache) {
console.log('fetched and caching', event.request);
cache.put(event.request, response.clone());
return response;
});
});
}