Iniciante Fundamentos

async / await

O async/await é uma forma moderna de trabalhar com Promises. Ele deixa o código assíncrono com aparência de código sequencial, mais fácil de ler.

Função async

Uma função marcada com async sempre retorna uma Promise. Dentro dela podemos usar await:

const fs = require("fs/promises");

async function ler() {
  const conteudo = await fs.readFile("dados.txt", "utf8");
  console.log(conteudo);
}

ler();

O que o await faz

O await pausa a função até a Promise resolver, devolvendo o valor. As outras partes do programa continuam rodando normalmente.

Tratar erros com try/catch

const fs = require("fs/promises");

async function ler() {
  try {
    const conteudo = await fs.readFile("dados.txt", "utf8");
    console.log(conteudo);
  } catch (erro) {
    console.error("Falha ao ler:", erro.message);
  }
}

ler();

Várias tarefas em paralelo

Use Promise.all para esperar várias Promises ao mesmo tempo:

async function carregar() {
  const [a, b] = await Promise.all([
    fs.readFile("a.txt", "utf8"),
    fs.readFile("b.txt", "utf8"),
  ]);
  console.log(a, b);
}