JS-0606 - JavaScript Completo ES6 - Async Await

JS-0606 - JavaScript Completo ES6 - Async Await
Publicado em 23/04/2021 14h24
Visualizações: 698

Simplificando o uso de Promises

A palavra-chave async indica que a função possui partes assíncronas em si e que será necessário a resolução destas para a continuidade da execução. Await indica a promise que deverá ter sua resolução aguardada, permitindo que funções que necessitem de retornos de promises sejam executadas somente após as suas resoluções. A proposta de async/await é basicamente similar ao .then() nas promises, porém, obedecendo uma sintaxe mais humana. Fazem parte da especificação do ES8 lançado em 2017.

Sua sisntaxe segue o seguinte formato:

  • A palavra-chave async no início da função que contenha eventos assícronos;
  • A palavra-chave await em cada promise que deverá aguardada a resolução;
  • Ulização do retorno das promises; e
  • Ativação da função

Ex:

JS-0606 - JavaScript Completo ES6 - Async Await

A sintaxe fica mais compreensiva em relação ao uso de .then() encadeados:

JS-0606 - JavaScript Completo ES6 - Async Await

Assim como quando utilizando o then, podemos utilizar try catch no async para o tratamento de erros.

JS-0606 - JavaScript Completo ES6 - Async Await

Utilizando o await, não é necessário esperar uma promise ocorrer para começar outra, porém, precisamos esperar a resposta resolvida do fetch para a transformação da resposta em json (o retorno de uma promise é outra promise).

JS-0606 - JavaScript Completo ES6 - Async Await

O retorno da expressão utilizando await tem que ser uma promise, pois se não for, será utilização em vão (nada será realizado). O retorno do await será sempre o resultado da promise.

Veja também:

Confira mais artigos relacionados

Este website utiliza cookies próprios e de terceiros a fim de personalizar o conteúdo, melhorar a experiência do usuário, fornecer funções de mídias sociais e analisar o tráfego. Para continuar navegando você deve concordar com nossa Política de Privacidade

Sim, eu aceito. Não, eu não aceito.