Cache:add() 方法
注意:此功能在 Web Workers 中可用。
Cache 接口的 add() 方法接收一个 URL,检索该 URL,并将生成的响应对象添加到指定的缓存中。
add() 方法在功能上等同于以下代码:
js
fetch(url).then((response) => {
if (!response.ok) {
throw new TypeError("bad response status");
}
return cache.put(url, response);
});
对于更复杂的操作,您需要直接使用 Cache.put()。
注意: add() 将覆盖缓存中先前存储的与请求匹配的任何键/值对。
语法
js
add(request)
参数
请求-
要添加到缓存的资源的请求。这可以是一个
Request对象或一个 URL。此参数用作
Request()构造函数的参数,因此 URL 遵循与该构造函数相同的规则。特别是,URL 可以相对于基本 URL,在窗口上下文中是文档的baseURI,在 worker 上下文中是WorkerGlobalScope.location。
返回值
一个 Promise,解析为 undefined。
异常
TypeError-
URL 协议不是
http或https。Response 状态不在 200 范围内(即,不是成功的响应)。这会在请求不成功时发生,也会在请求是跨域无 CORS 请求时发生(在这种情况下,报告的状态始终为 0)。
示例
此代码块等待 InstallEvent 触发,然后调用 waitUntil() 来处理应用程序的安装过程。这包括调用 CacheStorage.open 来创建一个新缓存,然后使用 Cache.add 将一个资源添加到其中。
js
this.addEventListener("install", (event) => {
event.waitUntil(caches.open("v1").then((cache) => cache.add("/index.html")));
});
规范
| 规范 |
|---|
| Service Workers # cache-add |
浏览器兼容性
加载中…