1

tl; dr Мое веб-приложение получает сообщение об ошибке «DOMException: Entry уже существует», и я понятия не имею, что это значит. Я не смог найти объяснения этой ошибки в Интернете; возможно, мой googlefoo неадекватен.Что такое "DOMException: Entry уже существует"?


Более длинная версия.

У меня есть довольно простое приложение ToDoList ES6 что

  • хранит запихнуть локально в индексированном и
  • использует сотрудник службы для перехвата выборки к «/ синхронизации», чтобы запустить код, который синхронизируется с индексированным с сервер.
  • использует сотрудник службы кэшировать главную страницу (с помощью cache.put, который не должен жаловаться, если запись кэша уже существует)

Все великие произведения. Но каждый раз, и некоторое время, работник службы отдает ошибки ...

Uncaught (in promise) TypeError: network error at TypeError (native) (program:1) 
Uncaught (in promise) DOMException: Entry already exists. (program:1) 

... хром (45.0.2454.93 (64-разрядная версия) на убунту) замедляется, и ничего не работает, пока я не идти на chrome: // serviceworker-internals и остановите рабочего. После этого все в порядке еще пару дней.

Сложно отлаживать, так как ошибка не говорит мне, какая строка моего кода инициировала проблему.

+1

Вы должны иметь возможность как минимум развернуть трассировку стека в консоли, я бы ожидал. Вы знаете, какой код вызывает это? – loganfsmyth

+0

Боюсь, что «программа: 1» * - это трассировка стека. Так что нет, я понятия не имею, откуда это происходит. Странно, правда? –

+0

Это то, что он говорит в правой части консоли, но должна быть стрелка слева от «Uncaught», которая будет расширять фактический объект ошибки с помощью трассировки стека. – loganfsmyth

ответ

0

Как было отмечено в комментариях, но ответить более определенно:

Это выследили в Windows, определенной ошибки в реализации Cache API в Chrome - https://crbug.com/542668

исправление находится в стадии разработки, с код исправляется. Исправление должно проходить через обычный процесс выпуска Chrome - Canary build в течение дня или двух, Beta через несколько недель и стабильный выпуск через 6 недель после этого.

Смежные вопросы