[英]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.