1
resposta

Como funciona o Async e Await

Boa Tarde

Durante o curso a Instrutora usou as funções Async e Await sem explicar o motivo, poderiam me explicar neste escopo

conexao,query(sql, async (erro, resultados) => {{
        const atendimento = resultados[0]
        const cpf = atendimento.cliente
        if (erro) {
            res.status(400).json(erro)
        } else {
            const { data } = await axios.get(`http://localhost:8082/${cpf}`)

            atendimento.cliente = data

            res.status(200).json(atendimento)
        }
    ))
}
1 resposta

Fala Carlos, tudo certo?

Neste teu caso o código não vai funcionar hehehe.. precisa ajustar o inicio dele ali e trocar a virgula por ponto para chamar o método de query.

de: conexao,query para conexao.query

Mas falando sobre async e await...

Basicamente esses caras vão tornar o teu código asíncrono.

Imagina que todo teu código, em um arquivo javascript, será executado de cima para baixo e da esquerda para direita, de forma automática e sem parar!

Quando você rodar seu arquivo ele vai ler todas as informações de uma só vez e executar toda lógica empregada no código, ok?

Agora, utilizando seu próprio código, temos uma consulta do axios a um cpf em um determinado caminho... se o código fosse síncrono o teu const { data } poderia não receber os dados do get e retornar sem valor... o await faz com que o javascript aguarde que o valor consultado no axios.get(http://localhost:8082/${cpf}`)` retorne para a const que você definiu.

Logo que o async é lido no inicio da função o javascript já entenderá que ali dentro vai ter um await e que ele precisará esperar algum retorno para seguir.

O mais comum é trabalhar com try {} catch{} para código assíncrono e tratar erros... ficando dessa forma:

try {
    const { data } = await axios.get(`http://localhost:8082/${cpf}`)
    atendimento.cliente = data
    res.status(200).json(atendimento)
} catch(error) {
    res.status(400).json(error)
}

Para saber mais sobe async await, tem esse link abaixo que explica bem. https://www.alura.com.br/artigos/async-await-no-javascript-o-que-e-e-quando-usar

Espero ter ajudado, Abs.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software