docs(service-worker): add staleWhileRevalidate strategy (#37301)
There is great workaround for implementing staleWhileRevalidate strategy in service-worker by setting strategy to freshness and timeout to 0u. Documented this in service worker config where all other strategies are documented Fixes #20402 PR Close #37301
This commit is contained in:
		
							parent
							
								
									779344012a
								
							
						
					
					
						commit
						db11a0ddbf
					
				| @ -193,6 +193,21 @@ The Angular service worker can use either of two caching strategies for data res | ||||
| 
 | ||||
| * `freshness` optimizes for currency of data, preferentially fetching requested data from the network. Only if the network times out, according to `timeout`, does the request fall back to the cache. This is useful for resources that change frequently; for example, account balances. | ||||
| 
 | ||||
| 
 | ||||
| <div class="alert is-helpful"> | ||||
| 
 | ||||
| You can also emulate a third strategy, [staleWhileRevalidate](https://developers.google.com/web/fundamentals/instant-and-offline/offline-cookbook/#stale-while-revalidate), which returns cached data (if available), but also fetches fresh data from the network in the background for next time. | ||||
| To use this strategy set `strategy` to `freshness` and `timeout` to `0u` in `cacheConfig`. | ||||
| 
 | ||||
| This will essentially do the following: | ||||
| 
 | ||||
| 1. Try to fetch from the network first. | ||||
| 2. If the network request does not complete after 0ms (i.e. immediately), fall back to the cache (ignoring cache age). | ||||
| 3. Once the network request completes, update the cache for future requests. | ||||
| 4. If the resource does not exist in the cache, wait for the network request anyway. | ||||
| 
 | ||||
| </div> | ||||
| 
 | ||||
| ### `cacheQueryOptions` | ||||
| 
 | ||||
| See [assetGroups](#assetgroups) for details. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user