Comportamento estranho com o Promise lançando o erro "Rejeição não tratada da promessa"
Quando executo esse código usando o Node, ele lança umUnhandled promise rejection
erro no console (mesmo mostrando oerror caught
primeiro texto).
const promise = new Promise((resolve, reject) => setTimeout(reject, 1000))
promise.then(() => console.log('ok'))
promise.catch((e) => console.log('error caught'))
No entanto, quando eu encadeio ocatch
método para othen
método, o erro desaparece:
const promise = new Promise((resolve, reject) => setTimeout(reject, 1000))
promise.then(() => console.log('ok')).catch((e) => console.log('error caught'))
O primeiro código não deve lidar com a rejeição?
Também tentei o primeiro código no Chrome e ele funciona se eu abrir o inspetor quando estiver em uma nova guia (ou google.com). Se eu estiver em qualquer outra página (como stackoverflow.com), ela lança a exceção. Alguma explicação para isso? Isso parece realmente estranho para mim!