1
resposta

Retorno da api mais lenta que ler a variável

Olá pessoal, estou criando uma API REST, a api esta rodando tudo ok porém ao executar uma chamada no banco e pedir para ler o retorno percebi que a leitura retorno esta sendo primeiro que o retorno da consulta no banco e escrevendo undefined já tentei implementar o ASYNC e AWAIT na função da consulta no banco mas não resolve , vou tentar exemplificar:


/*Funcao cliente_id*/

function cliente_Id(id) {
    const sql =\`SELECT * from participantes WHERE id =${id}\`;

    conexao.query(sql, (erro, resultados) => {

        if (erro) {
            res.status(400).json(erro);
        }
        else {
            c = resultados[0];
            return this.c;     
        }
    });
} 

/* Chamada da Função */
const id_cliente= parseInt(prevenda.cliente);
        const x = cliente_Id(id_cliente);

        console.log('dados do cliente');
        console.log(x);
1 resposta

Oi João, tudo bem? Pelo que estou vendo no seu código, não é um problema de async/await ou de promises nem nada do tipo. Vê que você atribui o valor da consulta a uma variável c mas logo depois faz um return this.c? c e this.c são coisas diferentes. Acredito que se você fizer apenas return c tudo deve funcionar normalmente. Testa e depois me dá um retorno aqui se funcionou por favor?