Async/Await
Existe uma sintaxe especial para trabalhar com Promises de uma forma mais confortável, chamada "async / await". Bem mais fácil de entender e usar. Ao invĂ©s de criar uma nova Promise dentro de uma função para fazer com que ela seja assĂncrona, podemos apenas marcá-la como async.
async function funcaoAssincrona() {
// Faça alguma coisa
return valor;
}E utilizariamos essa função como já fazemos com Promises. Usando as funções then e catch.
funcaoAssincrona().then((valor) => {
// Faça alguma coisa com o valor retornado
});Portanto, async garante que a função retorne uma Promise. Bastante simples, certo? Mas nĂŁo sĂł isso. Há outra palavra-chave, await, que funciona apenas dentro de funções assĂncronas. Observe o cĂłdigo abaixo.
async function funcaoAssincrona() {
// Faça alguma coisa
return valor;
}
async function segundaFuncaoAssincrona() {
const valor = await funcaoAssincrona();
// Faça algum processamento com o valor
return segundoValor;
}A palavra-chave await faz com que o JavaScript "espere" até que a promessa seja resolvida e retorne seu resultado. O await suspende literalmente a execução da função até que a promessa seja resolvida e, em seguida, a retoma com o resultado da promessa.
É apenas uma sintaxe mais elegante de obter o resultado da Promise do que usando then. E Ă© mais fácil de ler e escrever. Aqui, busca-se simplificar a sintaxe, evitando vários then e catch quando temos várias funções assĂncronas sendo chamadas umas dentro de outras.
Last updated
Was this helpful?