self.addEventListener('fetch', function(e) { }) не работает
У меня есть сомнения в PWA, и я буду рад, если кто-нибудь поможет мне с этим. В моем PWA у меня нет проблем с хранением статических файлов, таких как HTML, JS и CSS. Но сталкиваюсь с проблемами динамических данных. то есть: мой self.addEventListener('fetch', function(e) { })
не вызывается, но другие функции работают нормально, например: 'install' и 'active'.
чтобы быть более конкретным, я использую @angular/service-worker
который работал нормально, но я создал еще один SW-файл под названием sw.js
, В моем sw-js
Я слушаю такие события, как "установить", "активный" и "выборка". мой sw.js
fetch не вызывается, тогда как другие два метода работают хорошо. Но при получении ngsw-worker.js
вызывается только метод выборки.
Мне нужно сделать CRUD Operations в PWA с угловым режимом.
Заранее спасибо!
1 ответ
Вы можете выполнить динамическое кеширование, как показано ниже, работник сервиса перехватит каждый запрос и добавит его в кеш.
self.addEventListener("fetch", function (event) {
event.respondWith(
caches.open("dynamiccache").then(function (cache) {
return fetch(event.request).then(function (res) {
cache.put(event.request, res.clone());
return res;
})
})
)
}
Примечание. Вы не можете кэшировать POST-запросы. Может ли обслуживающий персонал кэшировать POST-запросы?