JavaScript · Intermediário · Inglês · Técnico
unhandled rejection
Promise rejeitada que ninguém trata com catch até o fim do ciclo. No Node moderno, o padrão é encerrar o processo com erro; no navegador, dispara o evento unhandledrejection.
Onde usar
Aparece quando um servidor cai com 'unhandled promise rejection' por causa de uma chamada async sem await ou sem catch. Em code review, promises soltas, sem catch, são apontadas.
Em código
process.on('unhandledRejection', (err) => {
console.error('sem catch:', err.message);
});
Promise.reject(new Error('falhou'));
// com o ouvinte, o processo não caiExemplos
The server crashed with an unhandled rejection from a missing await.
O servidor caiu com uma unhandled rejection por causa de um await esquecido.
Add a catch, or the promise ends up as an unhandled rejection.
Adicione um catch, senão a promise vira uma unhandled rejection.
Cuidado
Chamar uma função async sem await nem catch, deixando o erro sem destino.
Sinônimos
rejeição não tratada