Cache: matchAll() 方法
注意:此功能在 Web Workers 中可用。
Cache 介面的 matchAll() 方法返回一個 Promise,該 Promise 解析為 Cache 物件中所有匹配響應的陣列。
語法
js
matchAll()
matchAll(request)
matchAll(request, options)
引數
request可選-
您試圖在
Cache中查詢響應的Request。這可以是一個Request物件或一個 URL。如果省略此引數,您將獲得此快取中所有響應的副本。 options可選-
一個選項物件,允許您為執行的匹配設定特定的控制選項。可用的選項是
ignoreSearch-
一個布林值,指定匹配過程是否應忽略 URL 中的查詢字串。如果設定為
true,則在執行匹配時會忽略http://foo.com/?value=bar中的?value=bar部分。預設為false。 ignoreMethod-
一個布林值,如果設定為
true,則阻止匹配操作驗證Request的http方法(通常只允許GET和HEAD)。預設為false。 ignoreVary-
一個布林值,當設定為
true時,會告訴匹配操作不要執行VARY標頭匹配 — 也就是說,如果 URL 匹配,無論Response物件是否具有VARY標頭,您都會獲得匹配。預設為false。
返回值
一個 Promise,該 Promise 解析為 Cache 物件中所有匹配響應的陣列。
注意: Cache.match() 與 Cache.matchAll() 基本相同,只是它解析為第一個匹配的響應,而不是所有匹配的響應(即 response[0])。
示例
以下示例檢索 v1 快取中與 URL / 匹配的所有響應,甚至包括潛在的查詢引數。透過使用 { ignoreSearch: true },使用 matchAll 將檢索 / 以及 /?value=bar。
然後,它會記錄匹配響應的數量。
js
caches
.open("v1")
.then((cache) => cache.matchAll("/", { ignoreSearch: true }))
.then((responses) => {
console.log(`Found ${responses.length} matching responses`);
});
規範
| 規範 |
|---|
| Service Workers # cache-matchall |
瀏覽器相容性
載入中…