解决SQL查询中导出一个值时的回调地狱问题
P粉014218124
P粉014218124 2023-09-04 21:09:38
0
1
460
<p>我的目标是,如果我的SQL查询找到结果,将<code>someVar</code>设置为1。 问题是,赋值是局部的,当我尝试使用<code>console.log(someVar)</code>时,在块内结果为1,但在块外结果为0。有没有办法将值导出到块外?</p> <pre class="brush:js;toolbar:false;">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 } </pre></p>
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
}
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板