我正在使用服務工作者的緩存設施,但是,在更新到站點後,緩存在刷新頁面時仍會提供舊數據。當服務器關閉時,Service Worker會拋出未被捕獲的錯誤
所以按搶答this post我實現了陳舊,同時,重新驗證:
self.addEventListener('fetch', function(event) {
event.respondWith(caches.open(CACHE_NAME).then(function(cache) {
return cache.match(event.request).then(function(response) {
var fetchPromise = fetch(event.request).then(function(networkResponse) {
// if we got a response from the cache, update the cache
if (response) {
console.log("cached page: " + event.request.url);
cache.put(event.request, networkResponse.clone());
}
return networkResponse;
});
// respond from the cache, or the network
return response || fetchPromise;
});
}));
});
當連接,一切似乎都很好,我可以看到控制檯日誌消息。
當我停止服務器並刷新頁面時,我得到一個例外的負載。我添加了fetch()的catch來嘗試和處理異常,但它仍然失敗(並且catch不被調用)。我在caches.open()和respondWith()上添加了一個catch,但同樣的東西。
我知道我可以忽略這些錯誤,但我寧願處理他們,什麼也不做(包括不是他們outputing到控制檯),所以我可以看到我輸出控制檯有意義的東西。
如何停止錯誤信息?
服務安裝時的錯誤不如探測,但這也很好,可以忽略和忽略。
是的,這似乎是不能隱藏的網絡狀態警報的共識:(漁獲仍然沒有工作,但我沒有得到它的工作。看到我的最終代碼。感謝您的幫助。 –