0

My goal is to set someVar to 1 if my SQL query finds a result. The problem is that the assignment is local and when I try a console.log(someVar), the result is 1 inside the block, but 0 outside it. Is there a way to export the value outside it?

let someVar = 0;
con.query(`SOME SQL QUERY`, (error, rows) => {
    if (error) throw error
    if (rows.length > 0) {
        someVar = 1;
        //console.log(someVar) -> The result is 1
    }
});
con.end();
//console.log(someVar) -> The result is 0

if (someVar === 0) {
    // Some code
}

1 Answers1

0

Thanks to fredrik I fixed it. I finally used promise like that

let promiseQuery = await new Promise((resolve, reject) => {
    con.query(`SOME SQL QUERY`, (error, results, fields) => {
        if (error) reject(error);
        resolve(results || {});
    })

})
const someVar = promiseQuery.length
if (someVart === 0) {
    // Some code
} else {
    // Some code
}