При Angular документирует стратегию работника службы freshness
следующим образом:
свежесть оптимизирует для валюты данных, преимущественно выбирая запрошенные данные из сети. Только если время ожидания сети, согласно тайм-ауту, возвращается к кешу. Это полезно для часто меняющихся ресурсов; например, остатки на счетах.
Я реализовал эту стратегию в своем решении:
// ngsw-config.json
"dataGroups": [{
"name": "jokes-cache",
"urls": [ "https://icanhazdadjoke.com/" ],
"cacheConfig": {
"strategy": "performance",
"maxSize": 5,
"maxAge": "1d"
}
},
{
"name": "stocks-cache",
"urls": [ "https://api.worldtradingdata.com/api/v1/stock" ],
"cacheConfig": {
"strategy": "freshness",
"maxSize": 10,
"maxAge": "1d",
"timeout": "5s"
}
}]
Но когда я проверяю вкладку Сеть в DevTools, я вижу, что не только сетевой вызов запущен, но также доступен локальный кеш:
Я бы ожидал увидеть только сетевой вызов для конечной точки «сток» и нет доступа к кешу (ответ приходит раньше, чем через 5 секунд).