This page was translated from English by the community. Learn more and join the MDN Web Docs community.
Cache.add()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since апрель 2018 г..
Метод 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 Nightly> # cache-add> |
Совместимость с браузерами
Enable JavaScript to view this browser compatibility table.