Sitemap

JavaScript: Async/Await

3 min readFeb 24, 2023

--

O Básico do uso de async/await

Press enter or click to view image in full size

Introdução

Async/await é uma das mais recentes adições à linguagem JavaScript para lidar com operações assíncronas. Foi introduzido na versão ES2017 do JavaScript, juntamente com as Promises, e é uma ferramenta poderosa para simplificar a escrita de código assíncrono.

Antes da introdução do async/await, as Promises eram a principal forma de lidar com operações assíncronas em JavaScript. As Promises permitem que o código assíncrono seja tratado como uma sequência de eventos, tornando mais fácil controlar o fluxo de dados e lidar com erros.

No entanto, mesmo com Promises, escrever código assíncrono pode ser complicado e propenso a erros. As Promises usam uma sintaxe um tanto quanto complexa, e escrever código com múltiplas Promises aninhadas pode ser difícil de entender.

É aí que entra o async/await. Com async/await, você pode escrever código assíncrono como se fosse código síncrono, tornando-o mais fácil de ler e entender. O async/await é baseado em Promises e simplifica muito o seu uso.

Como Funciona o Async/Await

Async/await funciona adicionando duas palavras-chave ao JavaScript: a palavra-chave async e a palavra-chave await.

A palavra-chave async é adicionada à declaração de uma função, indicando que a função retorna uma Promisse. A palavra-chave await é usada para esperar que uma Promisse seja resolvida antes de continuar a execução do código.

Get Cabral’s stories in your inbox

Join Medium for free to get updates from this writer.

Aqui está um exemplo de código simples usando async/await:

async function fetchAsync() {
let response = await fetch('https://api.github.com');
let data = await response.json();
return data;
}

Neste exemplo, a função fetchAsync() é definida com a palavra-chave async, o que significa que ela retorna uma Promisse. A função faz uma chamada para a API do GitHub usando o método fetch() e, em seguida, usa a palavra-chave await para esperar que a Promisse seja resolvida antes de prosseguir com a execução do código.

A chamada para response.json() retorna uma outra Promisse, que também é tratada com await. Quando todas as Promises são resolvidas, a função retorna os dados da API em formato JSON.

Benefícios do Async/Await

Há vários benefícios em usar async/await em vez de Promises:

  • Código mais fácil de ler e entender: async/await permite que você escreva código assíncrono como se fosse código síncrono, tornando-o mais fácil de ler e entender.
  • Tratamento de erros mais simples: com Promises, o tratamento de erros pode ser complicado. O async/await torna o tratamento de erros muito mais simples.
  • Maior controle de fluxo: async/await dá a você um maior controle sobre o fluxo de dados no seu código assíncrono. Com Promises, isso pode ser difícil de alcançar.

Conclusão

Async/await é uma adição poderosa à linguagem JavaScript que torna a escrita de código assíncrono muito mais fácil. Ao usar async/await, você pode escrever código assíncrono como se fosse código síncrono, tornando-o mais fácil de ler e entender. Além disso, o tratamento de erros é mais simples e há um maior controle sobre o fluxo de dados no seu código.

No entanto, é importante lembrar que async/await ainda é baseado em Promises e, portanto, é importante entender o conceito de Promises antes de começar a usar async/await. Além disso, assim como com Promises, é importante lidar com erros corretamente para evitar erros e problemas no seu código.

--

--

Cabral
Cabral

Written by Cabral

Engenheiro de Computação, especialista em Engenharia Software e em Informática em Saúde