Почему не отображаются ошибки в разрешении обещаний dexie?
Если я сделаю это с открытой консолью разработчика, я увижу сообщение об ошибке в консоли:
new Promise((resolve, reject) => {
resolve();
}).then(() => {
throw new Error('Error in vanilla promise');
});
Однако, если я сделаю это, я ничего не увижу в консоли:
const query = db.streams.where('id').equals(stream.id);
return db.mycollection.where('id').equals(someId).delete()
.then(() => {
throw new Error('Error in dexie callback');
});
Я могу добавить следующее, а затем я вижу, что первая ошибка сообщается дважды (один раз тем, что уже сообщало об этом, и один раз от этого слушателя), а вторая ошибка сообщается один раз (от этого слушателя):
window.addEventListener('unhandledrejection', ev => {
console.error('unhandledrejection', ev.reason);
});
Почему эти два разные? Есть ли у меня способ получить последовательную обработку ошибок, независимо от того, исходит ли первоначальное обещание от dexie или нет?
Я использую dexie 2.0.4