Async / Await
async/await é uma maneira de lidar com código assíncrono em JavaScript de forma mais legível e organizada. É uma forma de escrever código assíncrono que se parece muito com código síncrono, tornando mais fácil para os desenvolvedores entenderem e manterem o código.
async é uma palavra-chave que é usada para declarar que uma função é assíncrona e que pode conter operações assíncronas que aguardam a conclusão. Uma função assíncrona sempre retorna uma Promise e, por padrão, seu valor de retorno é undefined. Por exemplo:
async function obterDados() {
const resultado = await fazerOperacaoAssincrona();
return resultado;
}
await é uma palavra-chave que é usada para pausar a execução de uma função assíncrona até que uma Promise seja resolvida ou rejeitada. Quando usamos await dentro de uma função assíncrona, a execução da função é pausada até que a Promise seja resolvida ou rejeitada, e o valor resultante é atribuído à variável. Por exemplo:
async function obterDados() {
const resultado = await fazerOperacaoAssincrona();
return resultado;
}
Neste exemplo, usamos await para aguardar a conclusão da operação assíncrona e atribuir o valor resultante à variável resultado.
Usando async/await, podemos escrever código assíncrono em uma sintaxe que se parece muito com código síncrono, tornando mais fácil de ler e entender. Além disso, podemos usar try/catch para tratar erros de forma mais fácil e legível. Por exemplo:
async function obterDados() {
try {
const resultado = await fazerOperacaoAssincrona();
return resultado;
} catch (erro) {
console.log(erro);
}
}
Neste exemplo, usamos try/catch para lidar com erros que podem ocorrer durante a operação assíncrona. Se ocorrer um erro, o código dentro do bloco catch é executado e o erro é impresso no console.
Em resumo, async/await é uma maneira legível e organizada de lidar com código assíncrono em JavaScript, tornando o código mais fácil de entender e manter.