Удаление кеша рабочего сервиса - PullRequest
0 голосов
/ 09 апреля 2019

Я добавил следующий (пример) код в свое приложение (приложение Angular, верно для любого приложения JS), чтобы удалить кэш сервера работ:

if ('serviceWorker' in navigator) {
    if ('caches' in window) {
        caches.keys().then((keyList) => {
            return Promise.all(keyList.map(function (key) {
                return caches.delete(key);
            }));
        });
    }
}

Но я часто получаю отчеты о сбоях со следующимиошибка для некоторых пользователей, использующих Chrome 72 и выше для Windows:

TypeError · undefined is not a function

для функции

caches.keys

Кто-нибудь знает, почему этомогло случиться.

1 Ответ

0 голосов
/ 09 апреля 2019

Метод ключей доступен только для объектов Cache .

Вы можете получить объекты кэша из функции cache.open.

Примериспользование:

caches.open(name).then(function(cache) {
  cache.keys().then(function(keys) {
    //Do something with keys
  });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...