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 |
瀏覽器相容性
載入中…