This page was translated from English by the community. Learn more and join the MDN Web Docs community.

View in English Always switch to English

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() функционально эквивалентен следующему коду:

js
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() {
  //запрос был добавлен в кеш
});

Параметры

request

Запрос, который вы хотите добавить в кеш. Это может быть объект Request, либо URL.

Возвращаемое значение

Promise, который разрешается с пустым значением void.

Исключения

Исключение Когда происходит
TypeError Схема URL не http или https.Статус ответа не из диапазона 200 (т.е., ответ не успешен). Это случается если запрос не выполняется успешно, а также, если запрос является cross-origin no-cors запросом (в таком случае, статус всегда 0).

Примеры

Этот блок кода ожидает старта события InstallEvent , а затем запускает waitUntil для обработки процесса установки приложения. Этот процесс состоит из вызова CacheStorage.open для создания нового кеша, и использования Cache.add для добавления ресурсов в этот кеш.

js
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

Совместимость с браузерами

Смотрите также