Рабочий сервисный работник с StaleWhileRevalidate - PullRequest
0 голосов
/ 17 октября 2018

При использовании 'workbox.strategies.staleWhileRevalidate' у меня возникла проблема, я не получаю обновленные данные с ответом.Есть ли способ обновить данные с каждым запросом, используя эту стратегию?Я использую broadcastUpdate для проверки заголовка тоже, но когда я вхожу с другого терминала, он показывает старые данные.Я хочу, чтобы мой indexdb обновлялся при каждом запросе, а dom показывался в соответствии с обновленным ответом.

workbox.routing.registerRoute(
  new RegExp('xy/xyzAPI/api'),
  workbox.strategies.staleWhileRevalidate({
    cacheName: 'api-url',
    plugins: [
      new workbox.expiration.Plugin({
        maxEntries: 20,
        maxAgeSeconds: 24 * 60 * 60
      }),
      new workbox.broadcastUpdate.Plugin('api-url', {
        headersToCheck: ['date'],
      })
    ]
  }));

1 Ответ

0 голосов
/ 17 октября 2018

В плагине, пожалуйста, удалите или уменьшите срок действия рабочего окна

workbox.routing.registerRoute(
  new RegExp('xy/xyzAPI/api'),
  workbox.strategies.staleWhileRevalidate({
    cacheName: 'api-url',
    plugins: [
      new workbox.expiration.Plugin({
        maxEntries: 20,

      }),
      new workbox.broadcastUpdate.Plugin('api-url', {
        headersToCheck: ['date'],
      })
    ]
  }));
...