Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

229
Visualizações
Cannot change variable values from a callback scope

I designed a function that connects to MYSQL and calls the callback parameter with the 'connection' object. I'm calling this function(lets call it A) inside another function (lets call it B), and, in the callback I'm sending to function A, I'm trying to modify a value from function B, but it doesn't work. Simply the value remains the same.

The code:

Function A:

function databaseConnection(callback) {
    // MYSQL Connection Details
    const connectionDetails = {
        host: 'localhost',
        user: 'root',
        password: 'Mobileapp!?',
        database: 'social-app'
    }
    //

    // Configuring the connection
    const connection = mysql.createConnection(connectionDetails);
    connection.connect();
    //
    // Calling the user callback
    callback(connection);
    //

    // Ending database connection
    connection.end();
    //
}

Function B:


function isLoginDataValid(username, password) {
    let valid = true;

    // Starts the database connection and execute the given callback with the supplied object 'connection'
    databaseConnection(connection => {
        connection.query(`SELECT id from users where username = '${username}' and password = '${password}'`, (error, results, fields) => {
            if (!error && !(results.length))
                valid = false;
        })
    })
    //
    return valid;
}

Thank you!.

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda