Cache.addAll()
Экспериментальная возможность: Это экспериментальная технология
Так как спецификация этой технологии ещё не стабилизировалась, смотрите таблицу совместимости по поводу использования в различных браузерах. Также заметьте, что синтаксис и поведение экспериментальной технологии может измениться в будущих версиях браузеров, вслед за изменениями спецификации.
Описание
Метод addAll()
интерфейса Cache
принимает массив URLS в качестве параметра, получает данные по ним, и добавляет полученные объекты ответов в заданный кеш. Объекты запросов, созданные в ходе получения данных, становятся ключами для хранимых ответов.
Примечание: Метод addAll()
перезапишет любые пары ключ/значение ранее записанные в кеш, соответствующие запросу, но выдаст ошибку, если операция put()
перезапишет один из кешей, созданный за время выполнения одного и того же метода addAll()
.
Синтаксис
cache.addAll(requests[]).then(function() {
//запросы были добавлены в кеш
});
Параметры
Возвращаемое значение
Promise
, которые разрешается с пустым значением void.
Исключения
Исключение | Когда происходит |
---|---|
TypeError |
Схема URL не http или https .Статус ответа не из диапазона 200 (т.е., ответ не успешен). Это случается если запрос не выполняется успешно, а также, если запрос является cross-origin no-cors запросом (в таком случае, статус всегда 0). |
Примеры
Этот блок кода ожидает старта события InstallEvent
, а затем запускает waitUntil
для обработки процесса установки приложения. Этот процесс состоит из вызова CacheStorage.open
для создания нового кеша, и вызова addAll()
для добавления набора ресурсов в этот кеш.
this.addEventListener("install", function (event) {
event.waitUntil(
caches.open("v1").then(function (cache) {
return cache.addAll([
"/sw-test/",
"/sw-test/index.html",
"/sw-test/style.css",
"/sw-test/app.js",
"/sw-test/image-list.js",
"/sw-test/star-wars-logo.jpg",
"/sw-test/gallery/",
"/sw-test/gallery/bountyHunters.jpg",
"/sw-test/gallery/myLittleVader.jpg",
"/sw-test/gallery/snowTroopers.jpg",
]);
}),
);
});
Спецификации
Specification |
---|
Service Workers # cache-addAll |
Совместимость с браузерами
BCD tables only load in the browser