refactor(sw): check for fallbackUrl

This commit is contained in:
Ayo Ayco 2025-08-26 00:53:34 +02:00
parent f80807eebd
commit 343568042c

View file

@ -78,9 +78,6 @@ const networkFirst = async ({ request, fallbackUrl }) => {
try { try {
// Try to get the resource from the network for 5 seconds // Try to get the resource from the network for 5 seconds
const responseFromNetwork = await fetch(request.clone()) const responseFromNetwork = await fetch(request.clone())
// response may be used only once
// we need to save clone to put one copy in cache
// and serve second one
putInCache(request, responseFromNetwork.clone()) putInCache(request, responseFromNetwork.clone())
console.info('using network response', responseFromNetwork.url) console.info('using network response', responseFromNetwork.url)
return responseFromNetwork return responseFromNetwork
@ -93,11 +90,13 @@ const networkFirst = async ({ request, fallbackUrl }) => {
return responseFromCache return responseFromCache
} }
// Try the fallback // If fallback is provided, try to use it, otherwise return error
const fallbackResponse = await cache.match(fallbackUrl) if (fallbackUrl) {
if (fallbackResponse) { const fallbackResponse = await cache.match(fallbackUrl)
console.info('using fallback cached response...', fallbackResponse.url) if (fallbackResponse) {
return fallbackResponse console.info('using fallback cached response...', fallbackResponse.url)
return fallbackResponse
}
} }
// when even the fallback response is not available, // when even the fallback response is not available,