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. | * `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` | ### `cacheQueryOptions` | ||||||
| 
 | 
 | ||||||
| See [assetGroups](#assetgroups) for details. | See [assetGroups](#assetgroups) for details. | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user