Удалить указанный файл c из кэша рабочего сервиса? - PullRequest
0 голосов
/ 16 апреля 2020

Я написал код, который может возвращать отклик всех файлов, которые больше не используются, из заданного кэша для последующего удаления. Я пытался использовать cache.delete уже с запросом от cache.matchAll() вот запрос, который возвращает false.

Response {type: "basic" url: "http://127.0.0.1:5500/bundles/bundle-f6d8ec63.css" redirected: false status: 404 ok: false statusText: "Not Found" headers: Headers {} body: (...) bodyUsed: false __proto__: Response }

Здесь вы можете видеть, что он существует в кэше enter image description here

Похоже, что cache.delete предназначен для удаления целых кэшей, но я хочу удалить только несколько избранных файлов. Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Оказывается, что тестируемый локальный хост, который я использовал (я думаю, что он основан на npm http-сервере), возился с кешем и не позволял мне удалять вещи. При тестировании с использованием py -m http.server у меня нет проблем.

0 голосов
/ 16 апреля 2020

Вы можете удалить элементы в кэше с помощью cache.delete(request, options).

Этот метод находит элемент в кэше, соответствующий запросу, удаляет его и возвращает Promise, который разрешается в значение true. Если он не находит элемент, он принимает значение false.

Вот параметры, определенные в MDN:

ignoreSearch: логическое значение, указывающее, следует ли игнорировать строку запроса в URL-адресе. , Например, если установлено значение true, часть? Value = bar

htt://foo.com/?value=bar

будет игнорироваться при выполнении сопоставления. По умолчанию используется значение false.

ignoreMethod: логическое значение, которое при значении true препятствует сопоставлению операций при проверке метода HTTP запроса (обычно разрешены только GET и HEAD.) По умолчанию используется значение false.

ignoreVary: логическое значение, которое при значении true указывает операции сопоставления не выполнять сопоставление заголовка VARY - то есть, если URL-адрес совпадает, вы получите совпадение независимо от того, имеет ли объект Response заголовок VARY. По умолчанию используется значение false.

cacheName: строка DOMString, представляющая определенный c кэш для поиска в нем. Обратите внимание, что эта опция игнорируется Cache.match ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...