ExpertiDict

JavaScript · Intermediário · Inglês · Técnico

async await

/əˈsɪŋk əˈweɪt/palavra-chave

Par de palavras-chave que escreve código assíncrono com cara de síncrono: async marca a função, que sempre devolve uma promise, e await pausa a função até a promise resolver.

Onde usar

É o padrão atual para chamadas de rede e banco de dados. Em code review, observam-se awaits em sequência que poderiam rodar em paralelo com Promise.all, e a falta de try catch.

Em código

async function buscar() {
  try {
    const r = await fetch('/api/x');
    return await r.json();
  } catch (e) {
    console.error(e);
  }
}

Exemplos

I rewrote the promise chain with async await.

Reescrevi a cadeia de promises com async await.

These two awaits are independent, so run them in parallel.

Esses dois awaits são independentes, então rode em paralelo.

Cuidado

Usar await em série quando as chamadas são independentes, perdendo desempenho.

Veja também

Todos os termos de JavaScript