Dynami c Имя кэша в сервисном работнике - PullRequest
0 голосов
/ 24 февраля 2020

как создать динамическое 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);
    }));
});

1 Ответ

0 голосов
/ 24 февраля 2020

У вас нет возврата в вашем первом фрагменте. это нормально?

...