JavaScript · Intermediário · Inglês · Técnico
promise
Objeto que representa o resultado futuro de uma operação assíncrona, nos estados pendente, cumprida ou rejeitada. Permite encadear etapas com then, catch e finally.
Onde usar
Base do fetch, do async await e de quase toda API assíncrona moderna. Em code review, procuram-se promises sem tratamento de erro e promises criadas mas nunca aguardadas.
Em código
const p = new Promise((resolve, reject) => {
setTimeout(() => resolve('ok'), 100);
});
p.then((v) => console.log(v))
.catch((e) => console.error(e))
.finally(() => console.log('fim'));Exemplos
The fetch returns a promise that resolves with the response.
O fetch devolve uma promise que resolve com a resposta.
That promise has no catch, so a rejection goes unhandled.
Essa promise não tem catch, então a rejeição fica sem tratamento.
Cuidado
Esquecer que o executor do new Promise roda de forma síncrona; só os handlers do then rodam depois.
Sinônimos
promessa
Origem
Do inglês promise, 'promessa'.