缓存:addAll() 方法

安全上下文:此功能仅在 安全上下文 (HTTPS) 中可用,在某些或所有 支持的浏览器 中可用。

注意:此功能在 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 方案不是 httphttps

响应状态不在 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 表仅在浏览器中加载

另请参阅