缓存:addAll() 方法
注意:此功能在 Web 工作者 中可用。
addAll()
方法是 Cache
接口的方法,它接受一个 URL 数组,检索这些 URL,并将得到的响应对象添加到给定的缓存中。检索期间创建的请求对象成为存储的响应操作的键。
注意:addAll()
将覆盖之前存储在缓存中与请求匹配的任何键值对,但如果得到的 put()
操作会覆盖之前由相同 addAll()
方法存储的缓存条目,则会失败。
语法
js
addAll(requests)
参数
requests
-
要添加到缓存的资源的请求数组。这些可以是
Request
对象或 URL。这些请求用作
Request()
构造函数的参数,因此 URL 遵循与该构造函数相同的规则。特别是,URL 可以相对于基准 URL,基准 URL 是窗口上下文中文档的baseURI
,或工作者上下文中WorkerGlobalScope.location
。
返回值
一个 Promise
,它解析为 undefined
。
异常
TypeError
-
URL 方案不是
http
或https
。响应状态不在 200 范围内(即,不是成功的响应)。如果请求没有成功返回,或者请求是 *跨域 no-cors* 请求(在这种情况下,报告的状态始终为 0),则会发生这种情况。
示例
此代码块等待 InstallEvent
触发,然后运行 waitUntil()
来处理应用程序的安装过程。这包括调用 CacheStorage.open
来创建一个新的缓存,然后使用 addAll()
将一系列资产添加到缓存中。
js
this.addEventListener("install", (event) => {
event.waitUntil(
caches
.open("v1")
.then((cache) =>
cache.addAll([
"/",
"/index.html",
"/style.css",
"/app.js",
"/image-list.js",
"/star-wars-logo.jpg",
"/gallery/",
"/gallery/bountyHunters.jpg",
"/gallery/myLittleVader.jpg",
"/gallery/snowTroopers.jpg",
]),
),
);
});
规范
规范 |
---|
服务工作者 # cache-addAll |
浏览器兼容性
BCD 表仅在浏览器中加载