解决SQL查询中导出一个值时的回调地狱问题
P粉014218124
P粉014218124 2023-09-04 21:09:38
0
1
346

我的目标是,如果我的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 } 

P粉014218124
P粉014218124

全部回复 (1)
P粉545218185

感谢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 }
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!