我们在 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/