Мы используем caches.match(event.request)
в сервисном работнике, чтобы выполнить «Стратегию кэширования только».Я заметил, что мы также возвращаем cache.match('someURL')
сразу после обещаний caches.open("cache-name")
.Это довольно запутанно.
В чем разница между 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;
});
});
})
);
});