我的目标是,如果我的SQL查询找到结果,将someVar设置为1。
问题是,赋值是局部的,当我尝试使用console.log(someVar)时,在块内结果为1,但在块外结果为0。有没有办法将值导出到块外?
let someVar = 0;
con.query(`SOME SQL QUERY`, (error, rows) => {
if (error) throw error
if (rows.length > 0) {
someVar = 1;
//console.log(someVar) -> 结果为1
}
});
con.end();
//console.log(someVar) -> 结果为0
if (someVar === 0) {
// Some code
}
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
感谢Fredrik,我修复了它。 我最终使用了如下的promise
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 (someVar === 0) { // Some code } else { // Some code }