Cache.add()
Метод add()
интерфейса Cache
принимает в качестве параметра URL, загружает его и добавляет полученный объект ответа в заданный кеш. Метод add()
функционально эквивалентен следующему коду:
fetch(url).then(function (response) {
if (!response.ok) {
throw new TypeError("bad response status");
}
return cache.put(url, response);
});
Для более сложных операций, вам нужно использовать Cache.put()
.
Примечание: add()
перезапишет любую пару ключ/значение, сохранённую ранее в кеше, соответствующем запросу.
Синтаксис
cache.add(request).then(function() { //запрос был добавлен в кеш });
Параметры
Возвращаемое значение
Promise
, который разрешается с пустым значением void.
Исключения
Исключение | Когда происходит |
---|---|
TypeError |
Схема URL не http или https .Статус ответа не из диапазона 200 (т.е., ответ не успешен). Это случается если запрос не выполняется успешно, а также, если запрос является cross-origin no-cors запросом (в таком случае, статус всегда 0). |
Примеры
Этот блок кода ожидает старта события InstallEvent
, а затем запускает waitUntil
для обработки процесса установки приложения. Этот процесс состоит из вызова CacheStorage.open
для создания нового кеша, и использования Cache.add
для добавления ресурсов в этот кеш.
this.addEventListener("install", function (event) {
event.waitUntil(
caches.open("v1").then(function (cache) {
return cache.add("/sw-test/index.html");
}),
);
});
Спецификации
Specification |
---|
Service Workers # cache-add |
Совместимость с браузерами
BCD tables only load in the browser