← Voltar ao Glossário
IntermediárioJavaScript

O que é Promise?

Objeto JavaScript que representa a eventual conclusão (ou falha) de uma operação assíncrona.

Definição completa

Promise é um objeto que representa o resultado futuro de uma operação assíncrona. Uma Promise pode estar em três estados: pending (pendente), fulfilled (resolvida com sucesso) ou rejected (rejeitada com erro). Permite encadear operações assíncronas com .then() e tratar erros com .catch(), substituindo o padrão de callbacks aninhados. Junto com async/await, tornou o código assíncrono muito mais legível.

Exemplo de código

// Promise básica
const buscarUsuario = (id) =>
  new Promise((resolve, reject) => {
    setTimeout(() => {
      if (id > 0) resolve({ id, nome: 'Dev' });
      else reject(new Error('ID inválido'));
    }, 1000);
  });

// Com .then() e .catch()
buscarUsuario(1)
  .then(user => console.log(user))
  .catch(err => console.error(err));

// Com async/await
async function main() {
  try {
    const user = await buscarUsuario(1);
    console.log(user);
  } catch (err) {
    console.error(err);
  }
}