У кого-нибудь была такая проблема с последними версиями браузеров на базе Chromium?
Мое приложение работало в предыдущих версиях и работает на Firefox.Но теперь происходит сбой из-за одного ожидающего вызова, который никогда не возвращает ответ.
Журналы показывают, что должна быть вызвана функция разрешения ожидаемого обещания.
Я признаю, что мой коднемного особенным, но я проверил все и не вижу причин, почему он должен потерпеть неудачу.Он использует веб-работника довольно интенсивно в течение пары секунд.
Иногда все это работает даже в Chrome, так что это может быть чувствительной ко времени ошибкой.Может быть, это вызвано сборкой мусора?
Ожидаемое обещание выглядит следующим образом
if (this._closestFreePointResolve)
throw new Error('busy')
console.log('created')
new Promise(resolve => {
this._closestFreePointResolve = resolve
})
И оно решается так же в другом методе
if (!this._closestFreePointResolve)
throw new Error('expected resolver')
const resolve = this._closestFreePointResolve
delete this._closestFreePointResolve
console.log('resolving')
resolve(val)
Вывод на консольвыглядит следующим образом:
создан разрешен создан разрешен ... (шаблон повторяется и всегда заканчивается разрешенным)
код ожидания:
let a
try {
a = await b(c)
} catch(err) {
console.error(err)
}
Ошибка не появляется вконсоль