Async e Await Javascript: Async/Await, introduzido no ECMAScript 2017 (ES8), é uma extensão da sintaxe de JavaScript que torna o trabalho com Promises mais confortável e fácil de entender.
Async/Await é essencialmente uma sintaxe construída em cima de Promises e não pode ser usada sem elas. Neste artigo, vamos explorar Async/Await em JavaScript.
Funções Async
A palavra-chave async
antes de uma função significa que a função sempre retorna uma Promise. Se a função retorna um valor que não é uma Promise, JavaScript automaticamente envolve esse valor em uma Promise resolvida.
async function minhaFuncao() {
return 'Olá, mundo!';
}
minhaFuncao().then((value) => {
console.log(value); // Saída: Olá, mundo!
});
Neste exemplo, minhaFuncao
é uma função async que retorna uma string. Como é uma função async, ela retorna uma Promise que é resolvida com a string ‘Olá, mundo!’.
Await
A palavra-chave await
só pode ser usada dentro de funções async e faz com que a execução da função seja pausada até que a Promise seja resolvida ou rejeitada.
async function minhaFuncao() {
let promise = new Promise((resolve, reject) => {
setTimeout(() => resolve('Promessa resolvida!'), 1000);
});
let result = await promise;
console.log(result); // Saída: Promessa resolvida!
}
minhaFuncao();
Neste exemplo, a função minhaFuncao
cria uma Promise que resolve após 1 segundo. A palavra-chave await
é usada para pausar a execução da função até que a Promise seja resolvida.
Tratamento de Erros
Para lidar com erros em funções async, você pode usar blocos try/catch.
async function minhaFuncao() {
try {
let promise = new Promise((resolve, reject) => {
throw new Error('Erro!');
});
let result = await promise;
} catch(error) {
console.log(error); // Saída: Error: Erro!
}
}
minhaFuncao();
Neste exemplo, a função minhaFuncao
cria uma Promise que imediatamente lança um erro. O bloco try/catch é usado para capturar e lidar com o erro.
Conclusão
Async/Await em JavaScript é uma maneira poderosa e elegante de trabalhar com operações assíncronas. Ele permite que você escreva código assíncrono que parece síncrono, tornando seu código mais legível e fácil de entender. No entanto, é importante lembrar que Async/Await é construído em cima de Promises e não pode ser usado sem elas.
Dominar Async/Await e Promises é fundamental para se tornar um bom programador JavaScript. Pratique e experimente esses conceitos por conta própria para obter uma compreensão mais profunda de como eles funcionam.
E para você validar seus códigos, você precisará de uma plataforma de host completa. Clique aqui e conheça a Hostinger, a hospedagem de sites com potência de verdade!!!