Почему ошибки в разрешении обещания Декси не отображаются? - PullRequest
0 голосов
/ 15 октября 2019

Если я делаю это с открытой консолью разработчика, я вижу сообщение об ошибке в консоли:

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 2.0.4

...