--- title: Cache.add() slug: Web/API/Cache/add translation_of: Web/API/Cache/add ---
{{APIRef("Service Workers API")}}
Метод add()
интерфейса {{domxref("Cache")}} принимает в качестве параметра URL, загружает его и добавляет полученный объект ответа в заданный кеш. Метод add()
функционально эквивалентен следующему коду:
fetch(url).then(function (response) { if (!response.ok) { throw new TypeError('bad response status'); } return cache.put(url, response); })
Для более сложных операций, вам нужно использовать {{domxref("Cache.put","Cache.put()")}}.
Замечание: add()
перезапишет любую пару ключ/значение, сохранённую ранее в кеше, соответствующем запросу.
cache.add(request).then(function() { //запрос был добавлен в кеш });
{{jsxref("Promise")}}, который разрешается с пустым значением void.
Исключение | Когда происходит |
---|---|
TypeError |
Схема URL не Статус ответа не из диапазона 200 (т.е., ответ не успешен). Это случается если запрос не выполняется успешно, а также, если запрос является cross-origin no-cors запросом (в таком случае, статус всегда 0). |
Этот блок кода ожидает старта события {{domxref("InstallEvent")}} , а затем запускает {{domxref("ExtendableEvent.waitUntil","waitUntil")}} для обработки процесса установки приложения. Этот процесс состоит из вызова {{domxref("CacheStorage.open")}} для создания нового кеша, и использования {{domxref("Cache.add")}} для добавления ресурсов в этот кеш.
this.addEventListener('install', function(event) { event.waitUntil( caches.open('v1').then(function(cache) { return cache.add('/sw-test/index.html'); }) ); });