LINUX.ORG.RU

Ищу пример Network First service worker

 ,


0

1

Вот на гугле есть такой пример

self.addEventListener('fetch', function(event) {
  event.respondWith(
    fetch(event.request).catch(function() {
      return caches.match(event.request);
    })
  );
});

Но они там говорят

you'll most-likely want to update the cache entry.

Что мол cache-ом сам занимайся. Хотелось бы увидеть пример с кэшем, как я понимаю это должно работать

сервис воркер который будет делать запрос, если за X (400 мс) он
  | отвечает - вернуть ответ, и положить в кэш
  | не отвечает - проверить если ли он в кеше
     |  есть в кеше - дать ответ, запрос не прерывать, по завершению положить в кеш
     |  нет в кеше - продолжает ждать ответ от сервера - когда прийдет вернуть его и положить в кеш

★★