CacheStorage: has() 方法

Baseline 已廣泛支援

此功能已成熟,可跨多種裝置和瀏覽器版本工作。它自 ⁨2018 年 4 月⁩ 起已在所有瀏覽器中可用。

安全上下文: 此功能僅在安全上下文(HTTPS)中可用,且支援此功能的瀏覽器數量有限。

注意:此功能在 Web Workers 中可用。

has() 方法是 CacheStorage 介面的一個方法,它返回一個 Promise。如果一個 Cache 物件與 cacheName 匹配,則該 Promise 會解析為 true

您可以透過視窗中的 Window.caches 屬性或在 worker 中的 WorkerGlobalScope.caches 屬性來訪問 CacheStorage

語法

js
has(cacheName)

引數

cacheName

一個字串,表示您要在 CacheStorage 中查詢的 Cache 物件的名稱。

返回值

一個 Promise,如果快取存在,則解析為 true;如果不存在,則解析為 false

示例

以下示例首先檢查名為 'v1' 的快取是否存在。如果存在,則向其中新增一個資源列表。如果不存在,則執行某種快取設定函式。

js
caches
  .has("v1")
  .then((hasCache) => {
    if (!hasCache) {
      someCacheSetupFunction();
    } else {
      caches.open("v1").then((cache) => cache.addAll(myAssets));
    }
  })
  .catch(() => {
    // Handle exception here.
  });

規範

規範
Service Workers
# cache-storage-has

瀏覽器相容性

另見