Просто чтобы убедиться, что я понимаю:
У вас есть вызовы API, которые включают feature-flags
в свой URL, и вы хотите, чтобы все эти вызовы обслуживались в первую очередь из кеша кеша с именем api
с максимальным временем жизни 30 секунд.
Если в какой-то момент браузер делает запрос URL-адреса, содержащего updateFlags
, это должно служить своего рода «выключателя уничтожения», который автоматически очищает содержимое кеш-памяти api
, гарантируя, что следующий запрос feature-flags
всегда будет go против сети.
Предполагая, что это Чтобы получить точную сводку, вы можете добавить в конфигурацию новый маршрут runtimeCaching
, который выполняет следующие действия:
runtimeCaching: [{
// existing route
}, {
urlPattern: new RegExp('updateFlags'),
handler: async ({request, event}) => {
// Deleting the 'api' cache will ensure that the next API
// request goes against the network.
event.waitUntil(caches.delete('api'));
// Assuming that you want the actual request for the URL
// containing updateFlags to be made against the server:
return fetch(request);
},
}]