none
В промисе CacheStorage возвращается Null value RRS feed

  • Общие обсуждения

  • Уважаемые Гуру!

    Я использую new CacheStorage API следующим образом

    function cacheOpen() {
        if (window.caches && !sharedCache) {
            sharedCache = window.caches.open(CACHE_NAME);
        }
    }
    export function enforceCacheSizeLimit(limit: number) {
        cacheOpen();
        if (!sharedCache) return;
    
        sharedCache
            .then(cache => {
    			
                if (!cache) return; 
    			
                cache.keys().then(keys => {
                    for (let i = 0; i < keys.length - limit; i++) {
                        cache.delete(keys[i]);
                    }
                });
            });
    }

    Т.к. в случае , если промис не разрешается , т.е. cache = null. то возникает ошибка в браузере.

    Я вставил строку 

    if (!cache) return; 

    Но хотел бы разобраться по какой причине это происходит и что лучше сделать в этом случае?

    Можно ли где то взглянуть на исходные коды CachStorage? 

    Повторил вопрос на github   ServiceWorker/issues 

    18 июля 2020 г. 7:28