From d099527114d3c96269d72eee292a262f0472d7b0 Mon Sep 17 00:00:00 2001 From: AmirrezaRezaeii Date: Wed, 22 Apr 2026 12:58:46 +0330 Subject: [PATCH] Strategy: cache then network --- public/sw.js | 22 +++++++++++++++++++--- 1 file changed, 19 insertions(+), 3 deletions(-) diff --git a/public/sw.js b/public/sw.js index daffab9..ebbc869 100644 --- a/public/sw.js +++ b/public/sw.js @@ -93,12 +93,28 @@ self.addEventListener("activate", function (event) { // Strategy: network with cache fallback +// self.addEventListener("fetch", (event) => { +// event.respondWith( +// fetch(event.request).catch(() => { +// return caches.open(CACHE_STATIC_NAME).then((cache) => { +// return cache.match(event.request); +// }); +// }), +// ); +// }); + +// Startegy: cache then network + self.addEventListener("fetch", (event) => { event.respondWith( - fetch(event.request).catch(() => { - return caches.open(CACHE_STATIC_NAME).then((cache) => { - return cache.match(event.request); + caches.match(event.request).then((cache) => { + const fetchPromise = fetch(event.request).then((res) => { + return caches.open(CACHE_STATIC_NAME).then((cache) => { + cache.put(event.request, res.clone()); + return res; + }); }); + return cache || fetchPromise; }), ); });