refactor(sw): check for fallbackUrl
This commit is contained in:
parent
f80807eebd
commit
343568042c
1 changed files with 7 additions and 8 deletions
15
src/sw.mjs
15
src/sw.mjs
|
@ -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,
|
||||||
|
|
Loading…
Reference in a new issue