From 1360f8be567ad0cc102cc4b1f5d8d654c5d7d796 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Thu, 14 Jul 2022 19:14:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E8=AE=A2sw?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- service-worker.js | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/service-worker.js b/service-worker.js index 74cba2ac..33b9ff93 100644 --- a/service-worker.js +++ b/service-worker.js @@ -6578,27 +6578,32 @@ self.addEventListener('fetch', async function(event) { console.debug("%c已有相同 md5 缓存,直接使用缓存", "color: green;", url); event.respondWith(responseWithMd5); } else { + //console.debug("%c无相同 md5 缓存,重新在线获取", "color: blue;", url); + let newResponse; try { - console.debug("%c无相同 md5 缓存,重新在线获取", "color: blue;", url); - const newResponse = await fetch(event.request); + newResponse = await fetch(event.request); + console.debug("%c无相同 md5 缓存,重新在线获取结果", "color: blue;", url, newResponse); const cache = await caches.open(cacheName); - cache.put(url, newResponse.clone()); - event.respondWith(newResponse); + await cache.put(url, newResponse.clone()); + //console.debug("%c储存新的Cache", "color: blue;", url, cache); } catch (error) { console.error("%c数据在线获取失败,尝试使用忽略 search 的离线数据", "color: red;", url, error); - event.respondWith(caches.match(url, {ignoreSearch: true})); + newResponse = await caches.match(url, {ignoreSearch: true}); } + event.respondWith(newResponse); } } else { + console.debug("无 md5 值,重新在线获取", url); + let newResponse; try { - console.debug("无 md5 值,重新在线获取", url); - const newResponse = await fetch(event.request); + newResponse = await fetch(event.request); const cache = await caches.open(cacheName); - cache.put(url, newResponse.clone()); + await cache.put(url, newResponse.clone()); event.respondWith(newResponse); } catch (error) { console.error("%c数据在线获取失败,尝试使用忽略 search 的离线数据", "color: red;", url, error); - event.respondWith(caches.match(url, {ignoreSearch: true})); + newResponse = await caches.match(url, {ignoreSearch: true}); } + event.respondWith(newResponse); } }); \ No newline at end of file