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 April 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

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

BCD tables only load in the browser

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