Always reload when making network request
This commit is contained in:
		
							parent
							
								
									62fefcae2d
								
							
						
					
					
						commit
						0afe31fba3
					
				
					 1 changed files with 11 additions and 4 deletions
				
			
		
							
								
								
									
										15
									
								
								sw.js
									
										
									
									
									
								
							
							
						
						
									
										15
									
								
								sw.js
									
										
									
									
									
								
							| 
						 | 
					@ -1,4 +1,4 @@
 | 
				
			||||||
const VERSION = 'v17'
 | 
					const VERSION = 'v18'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const CACHE_FIRST = [
 | 
					const CACHE_FIRST = [
 | 
				
			||||||
	// Root
 | 
						// Root
 | 
				
			||||||
| 
						 | 
					@ -140,8 +140,11 @@ const cacheFirst = async ({ request, preloadResponsePromise, refreshAnyway }) =>
 | 
				
			||||||
			console.log('[cf] using cache response; refreshing anyway but returning cache', responseFromCache);
 | 
								console.log('[cf] using cache response; refreshing anyway but returning cache', responseFromCache);
 | 
				
			||||||
			((async () => {
 | 
								((async () => {
 | 
				
			||||||
				try {
 | 
									try {
 | 
				
			||||||
					const response = await fetch(request)
 | 
										const response = await fetch(request, {
 | 
				
			||||||
 | 
											cache: 'reload',
 | 
				
			||||||
 | 
										})
 | 
				
			||||||
					if (response.ok) {
 | 
										if (response.ok) {
 | 
				
			||||||
 | 
											console.log('[cf] after cache response, got and cached network response')
 | 
				
			||||||
						await putInCache(request, response)
 | 
											await putInCache(request, response)
 | 
				
			||||||
					}
 | 
										}
 | 
				
			||||||
				}
 | 
									}
 | 
				
			||||||
| 
						 | 
					@ -174,7 +177,9 @@ const cacheFirst = async ({ request, preloadResponsePromise, refreshAnyway }) =>
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Next try to get the resource from the network
 | 
						// Next try to get the resource from the network
 | 
				
			||||||
	const responseFromNetwork = await fetch(request)
 | 
						const responseFromNetwork = await fetch(request, {
 | 
				
			||||||
 | 
							cache: 'reload',
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
	// response may be used only once
 | 
						// response may be used only once
 | 
				
			||||||
	// we need to save clone to put one copy in cache
 | 
						// we need to save clone to put one copy in cache
 | 
				
			||||||
	// and serve second one
 | 
						// and serve second one
 | 
				
			||||||
| 
						 | 
					@ -212,7 +217,9 @@ const networkFirst = async ({ request, preloadResponsePromise }) => {
 | 
				
			||||||
	let responseFromNetwork
 | 
						let responseFromNetwork
 | 
				
			||||||
	let errorFromNetwork
 | 
						let errorFromNetwork
 | 
				
			||||||
	try {
 | 
						try {
 | 
				
			||||||
		responseFromNetwork = await fetch(request)
 | 
							responseFromNetwork = await fetch(request, {
 | 
				
			||||||
 | 
								cache: 'reload',
 | 
				
			||||||
 | 
							})
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	catch (e) {
 | 
						catch (e) {
 | 
				
			||||||
		responseFromNetwork = null
 | 
							responseFromNetwork = null
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		
		Reference in a new issue