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

Параметры

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

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

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

Исключения

Исключение Когда происходит
TypeError

Схема URL не http или https.

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

Примеры

Этот блок кода ожидает старта события InstallEvent (en-US) , а затем запускает  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');
    })
  );
});

Спецификации

Спецификация Статус Комментарий
Service Workers
Определение 'Cache' в этой спецификации.
Рабочий черновик Initial definition.

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

BCD tables only load in the browser

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