Esperar de um jeito legível
Para esperar o resultado de uma Promise sem travar, o JS moderno usa async e await:
app.get("/produtos", async function (req, res) {
const produtos = await db.query("SELECT * FROM produtos");
res.json(produtos);
});
await— "espere esta operação terminar e me dê o resultado antes de seguir"async— marca a função como "esta função pode usar await"
⚠️ A dupla é obrigatória:
awaitsó funciona dentro de uma função marcada comoasync. E se você esquecer oawait, a variável guarda a promessa (uma Promise), não os dados — um bug clássico.
🧠 O
awaitfaz o código assíncrono parecer sequencial ("faça isso, depois aquilo") — fácil de ler — mas sem travar o servidor. O melhor dos dois mundos.
