Работник службы : Как кэшировать вызовы удаленных веб-служб, чтобы при повторном вызове они загружались из кэша, чтобы ускорить загрузку моего веб-сайта?

#service-worker

Вопрос:

Как кэшировать вызовы удаленных веб-служб, чтобы при повторном вызове они загружались из кэша?

 const CACHE_NAME = "v1";
const cacheAssests = [
  "https://127.0.0.1:7008/ADAASecureapi/rest/v0/strgLookupEntities?limit=10000amp;onlyData=trueamp;fields=EntId",
  "https://127.0.0.1:7008/ADAASecureapi/rest/v0/userAccessMap?onlyData=trueamp;limit=10000",
];
self.addEventListener("install", (e) => {
  console.log("Serice Worker is Installed");
  e.waitUntil(
    caches
      .open(CACHE_NAME)
      .then((cache) => {
        cache.addAll(cacheAssests);
      })
      .then(() => self.skipWaiting())
  );
});

self.addEventListener("activate", () => {
  console.log("Serice Worker is activated");

  caches.keys().then((cachNames) => {
    return Promise.all(
      cachNames.map((cname) => {
        if (cname !== CACHE_NAME) {
          return caches.delete(cname);
        }
      })
    );
  });
});

self.addEventListener("fetch", (e) => {
  console.log("Servivce Worker is Fetching...");
  e.respondWith(
    fetch(e.request).catch(() => {
      console.log("Now Fetching from CACHE");
      return caches.match(e.request);
    })
  );
});

 

это мой код выше , который я использовал для установки, активации и извлечения прослушивателей событий для кэширования своего веб-сайта

Комментарии:

1. Вы пытаетесь кэшировать ответы на вызовы API?