Как удалить обналичивание по имени в Javascript - pwa - PullRequest
1 голос
/ 09 апреля 2020

PWA-приложению, с которым я работаю, нужно удалить запись.

Следующий код используется для проверки кэша.

self.addEventListener('activate', function (event) {
    console.log('[Service Worker] Activating Service Worker ....', event);
    event.waitUntil(
        caches.keys()
            .then(function (keyList) {
                console.log('[Service Worker] keyList ....', keyList);
                return Promise.all(keyList.map(function (key) {
                    if (key !== CACHE_STATIC_NAME && key !== CACHE_DYNAMIC_NAME) {
                        console.log('[Service Worker] Removing old cache.', key);
                        return caches.delete(key);
                    }
                }));
            })
    );
    return self.clients.claim();
});

Мне нужно удалить записи внутри указанного c кеш на основе указанных c ключей кеша.

1 Ответ

1 голос
/ 10 апреля 2020

Вот вспомогательная функция, которая принимает имя кэша и URL-адрес для ключа кэша в пределах этого имени cached и удаляет Response, соответствующий этому ключу кэша.

async function deleteCacheKeyFromCache(cacheName, cacheKey) {
  const cache = await caches.open(cacheName);
  await cache.delete(cacheKey);
}

// Use it like:
// await deleteCacheKeyFromCache('my-cache', '/index.html');

Если cacheName не существует или cacheKey отсутствует в cacheName, тогда функция будет фактически недоступна.

...