I keep getting this error in my service worker who stops my work from working offline, Iv'e done a lot of testing, and I think Iv'e figured out where the problem is, and not why this is happening. There seems to be a problem with the fetch function, so when it tries to extract the "Index.html" page, it returns an "uncaught prom" error. I think so because when I delete the piece of code that retrieves the pages and reload it in git, it seems like there are no errors, but I am also mistaken. Below is the code that I use to make it work. I did not download all this, since there would be a lot of code for the firmware, I just put the code where, in my opinion, the problem is, I can put the rest of the code if someone wants to see it all the same.Any help would really be appreciated, as it drives me crazy! Thankyou.
var BASE_PATH = "/assignment-real-final/";
var TEMP_IMAGE_CACHE_NAME = 'temp-cache-v1';
var CACHE_NAME = 'gih-cache-v7';
var newsAPIJSON = "https://newsapi.org/v1/articles?source=bbc-news&apiKey=c5b2ba3cfb4c4717852bf328348da961";
var CACHED_URLS = [
BASE_PATH +'index.html',
BASE_PATH +'staffs-uni.html',
BASE_PATH +'sign-up.html',
];
self.addEventListener('fetch', function(event) {
var requestURL = new URL(event.request.url);
if (requestURL.pathname === BASE_PATH + 'index.html') {
event.respondWith(
caches.open(CACHE_NAME).then(function(cache) {
return cache.match('index.html').then(function(cachedResponse) {
var fetchPromise = fetch('index.html').then(function(networkResponse) {
cache.put('index.html', networkResponse.clone());
return networkResponse;
});
return cachedResponse || fetchPromise;
});
})
);
} else if (requestURL.pathname === BASE_PATH + 'staffs-uni.html') {
event.respondWith(
caches.open(CACHE_NAME).then(function(cache) {
return cache.match('staffs-uni.html').then(function(cachedResponse) {
var fetchPromise = fetch('staffs-uni.html').then(function(networkResponse) {
cache.put('staffs-uni.html', networkResponse.clone());
return networkResponse;
});
return cachedResponse || fetchPromise;
});
})
);
} else if (requestURL.href === googleMapsAPIJS) {
event.respondWith(
fetch(
googleMapsAPIJS+'&'+Date.now(),
{ mode: 'no-cors', cache: 'no-store' }
).catch(function() {
return caches.match('offline-map.js');
})
);
}
});