async/await
Motivação
Código assíncrono com callbacks ou mesmo com promises pode ser difícil de ler.
As instruções async e await são uma abstração de promises que permitem escrever código mais legível.
Considere o exemplo a seguir usando promises. O código aguarda 300 milissegundos, imprime “a”, aguarda mais 200 milisegundos e então imprime “b”.
await
O código acima pode ser reescrito da seguinte forma:
Observações:
- A palavra-chave
await
só pode ser usada dentro de funçõesasync
await
recebe uma promise- Funções prefixadas com a palavra-chave
async
são funções assíncronas que retornam promises.
Exemplo mais completo
Baseado no exemplo da aula de padrões de concorrência.