ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

promise

/ˈpɹɑmɪs/substantivo

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'.

Veja também

Todos os termos de JavaScript