Почему обещание CacheStorage.open никогда не отвечает? - PullRequest
0 голосов
/ 18 декабря 2018

Мы начали использовать CacheStorage API.Обычно это работает нормально, но иногда браузер попадает в ситуацию, когда обещания CacheStorage никогда не отвечают (т.е. они не разрешают и не отклоняют).

Как только я попадаю в ситуацию, я могу воспроизвести его на 100% при первом вызове, например:

let promise = caches.open("TestDB");
console.log("open - started");

promise
.then(cc => console.log("open - complete"))
.catch(ex => console.log("open - failed", ex));

console.log("open - waiting");

В примере кода будет напечатано:

open - started 
open - waiting

, но никогда два других журнала.

Любые идеипочему это случилось?и как решить проблему?

Если я открою личную вкладку, то она работает нормально.Очистка кеша из пользовательского интерфейса также решает проблему.

Это было воспроизведено в Chrome и Safari.


Мы видели другие ситуации, когда open вызов завершается успешно, но затем match не удается (т.е. не разрешается) случайным образом, т. Е. Кажется, что оно зависит от количества запросов в кэш, поскольку добавление console.log, похоже, делает проблему менее частой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...