Async/Await
Definição
async/await é uma forma moderna de lidar com operações assíncronas, tornando o código mais claro e sequencial.
Ela permite escrever código como se fosse síncrono, mas lidando internamente com Promises.
- asyncdefine que uma função retorna uma Promise.
- awaitpausa a execução da função até que a Promise seja resolvida (ou rejeitada).
Essa abordagem facilita o controle de fluxo, evita o encadeamento excessivo de .then() e permite tratamento de erros com try/catch, como em código síncrono.
Objetivos do uso de async/await
- Tornar o código assíncrono mais legível e sequencial.
- Substituir o encadeamento de .then()por um estilo mais linear.
- Usar try/catchpara capturar erros, como em código tradicional.
- Melhorar a manutenção e depuração do código.
Exemplo prático
Vamos simular uma função que lê um "arquivo" com atraso:
function lerArquivo() {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve("Conteúdo do arquivo");
    }, 1000);
  });
}
Código com .then()
lerArquivo().then((conteudo) => {
  console.log("Arquivo lido:", conteudo);
});
Código com async/await
async function executar() {
  console.log("Lendo...");
  const conteudo = await lerArquivo();
  console.log("Arquivo lido:", conteudo);
}
executar();
Saída esperada
Lendo...
(espera 1 segundo)
Arquivo lido: Conteúdo do arquivo
Tratamento de erros com try/catch
async function executar() {
  try {
    const conteudo = await lerArquivo();
    console.log("Conteúdo:", conteudo);
  } catch (erro) {
    console.error("Erro ao ler:", erro);
  }
}
- awaitsuspende a execução até a Promise ser resolvida.
- Erros podem ser capturados com - try/catch, como em código síncrono.
O ciclo de async/await
[Função async chamada]
     ↓
[Executa até encontrar await]
     ↓
[Aguarda Promise resolver]
     ↓
[Continua a execução com o resultado]
Vantagens sobre .then()
- Código mais limpo e próximo da leitura humana. 
- Erros capturados de forma centralizada. 
- Ideal para fluxos assíncronos longos e encadeados. 
ℹ️
async/awaitnão substitui Promises — ele usa Promises por baixo dos panos, mas com uma sintaxe mais amigável.
 ECOSSISTEMA PYTHON
 ECOSSISTEMA PYTHON  LINUX
 LINUX  ASSEMBLY NASM
 ASSEMBLY NASM  JAVA
 JAVA