как создать динамическое c имя кэша в сервисном работнике? Я хочу проверить сервер API, чтобы узнать последнюю версию моего приложения. это будет кеш-имя моего приложения. Я использовал fetch, но он всегда возвращает undefined
,
staticCacheName = (() => {
fetch('https://unitedspace.co.id/check_version.php')
.then(response => response.json())
.then(myJson => myJson.app_name + '-' + myJson.version + '.' + myJson.build_number);
})();
Это мой код работника службы:
self.addEventListener('activate', function(e) {
e.waitUntil(caches.keys().then(function(cacheNames) {
return Promise.all(
cacheNames.map(function(cacheName) {
if (cacheName != 'blog-{{ site.github.build_revision }}') {
return caches.delete(cacheName);
}
})
);
}));
});
self.addEventListener('fetch', function(e) {
e.respondWith(caches.match(e.request).then(function(response) {
return response || fetch(e.request);
}));
});