javascript - caches.match 和 cache.match 之间的区别

标签 javascript web-services caching

我们在 Service Worker 中使用 caches.match(event.request) 来执行“仅缓存策略”。我注意到我们也在 caches.open("cache-name") promise 之后立即返回 cache.match('someURL') 。这很令人困惑。

caches.match(event.request)cache.match('someURL') 有什么区别。它们各自的用例是什么?

案例:

缓存匹配

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

缓存匹配

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;
        });
      });
    })
  );
});

最佳答案

cache.match 搜索特定 缓存中的项目,而caches.match 搜索所有 缓存一场比赛。

关于javascript - caches.match 和 cache.match 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50306180/

相关文章:

php - 根据URL参数生成SQL查询

magento - 与 magento CE 1.8 连接时的随机 redis 错误

javascript - Internet Explorer 11 上 JavaScript 中字符串数组的奇怪行为

javascript - Vuetify 卡和工作表有什么区别?

c++ - 来自 codesampler 的 Direct3D (DirectX 9.0) 代码示例

c# - 启用 OutputCache 时 session 丢失

java - Infinispan JDBC 缓存存储

用于电话验证的 JavaScript 正则表达式

javascript - Meteor 中的动态加载模板

java - ReSTLet 响应类型