DEV Community

Cover image for Entendendo o uso de async/await com Promises no Javascript.
João Gabriel
João Gabriel

Posted on

Entendendo o uso de async/await com Promises no Javascript.

Entendendo Promises em JavaScript

As Promises são um recurso fundamental em JavaScript para lidar com operações assíncronas, elas representam um valor que pode estar futuramente ou nunca (caso a promise retorne um erro). No contexto de desenvolvimento web, são frequentemente utilizadas para lidar com solicitações de rede, acesso a bancos de dados e outras operações que levam tempo para serem concluídas.

O que são Promises?

Em termos simples, uma Promise é um objeto que representa o sucesso ou a falha de uma operação assíncrona. Ela possui três estados possíveis:

  1. Pendente: Estado inicial, quando a Promise está aguardando o resultado da operação.
  2. Resolvida (Fulfilled): Quando a operação é concluída com sucesso.
  3. Rejeitada (Rejected): Quando a operação falha.

Quando as Promises são utilizadas?

Promises são comumente utilizadas em situações em que uma operação assíncrona precisa ser realizada, como:

  • Requisições HTTP para recuperar dados de APIs.
  • Acesso a bancos de dados.
  • Leitura e escrita de arquivos.
  • Qualquer operação que envolva tempo de espera, como setTimeout.

Uso do async/await

O async/await é uma sintaxe introduzida no ECMAScript 2017 (também conhecido como ES8) para facilitar o trabalho com Promises. Ele permite escrever código assíncrono de forma mais síncrona, tornando-o mais legível e fácil de entender.

Antes do ES8 introduzir a sintaxe do async/await, as promises eram utilizadas através do método .then(), e os erros captados através do método .catch().

Exemplo de uso de uma Promise com async/await

// Função que retorna uma Promise que resolve após um certo tempo
function esperar(ms) {
  return new Promise(resolve => setTimeout(resolve, ms));
}

// Função assíncrona que utiliza o async/await
async function exemploAsyncAwait() {
  console.log('Iniciando operação assíncrona...');
  await esperar(2000); // Espera 2 segundos
  console.log('Operação assíncrona concluída!');
}

// Chamada da função assíncrona
exemploAsyncAwait();
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, a função esperar retorna uma Promise que resolve após o número especificado de milissegundos. A função exemploAsyncAwait utiliza o await para aguardar a conclusão da Promise retornada por esperar.

Conclusão

As Promises e o async/await são recursos poderosos que tornam o código assíncrono em JavaScript mais fácil de escrever e entender. Elas são essenciais em todo o desenvolvimento que envolva o JavaScript como linguagem de programação, podendo ser utilizadas em qualquer tipo de chamada assíncrona.

Top comments (0)