簡體   English   中英

caches.match和cache.match之間的區別

[英]Difference between caches.match and cache.match

我們在服務工作者中使用caches.match(event.request)來執行“僅緩存策略”。 我注意到我們也在caches.open("cache-name")承諾之后cache.match('someURL')返回cache.match('someURL') 這很令人困惑。

caches.match(event.request)cache.match('someURL')之間有什么區別。 它的用例是什么?

示例案例:

Caches.match

self.addEventListener('fetch', function(event) {
  event.respondWith(caches.match(event.request)); 
});

Cache.match

self.addEventListener('fetch', function(event) {
  event.respondWith(
    caches.open('mysite-dynamic').then(function(cache) {
      return cache.match(event.request).then(function (response) {
        return response || fetch(event.request).then(function(response) {
          cache.put(event.request, response.clone());
          return response;
        });
      });
    })
  );
});

我猜你不知道“緩存”這個詞是指CacheStorage基本上是緩存還是緩存存儲存儲所有緩存,而緩存只是緩存存儲中的命名緩存。 基本上caches.match應該為您提供緩存存儲的實例,而cache.match為您提供特定緩存的實例。

cache.match搜索特定緩存中的項目,而caches.match搜索所有緩存以查找匹配項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM