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…
Reference in New Issue