Async e Await Javascript

Javascript
Tempo de leitura: 2 minutos

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!!!

Author: Thiago Rossi