【问题标题】:Export a value outside a SQL query (Callback Hell) [duplicate]在 SQL 查询之外导出值(回调地狱)[重复]
【发布时间】:2021-10-07 00:22:31
【问题描述】:

如果我的 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) -> The result is 1
    }
});
con.end();
//console.log(someVar) -> The result is 0

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

【问题讨论】:

  • 是回调,不同步执行。
  • 好的,我会看你的网站,谢谢你的帮助^^

标签: mysql node.js discord.js


【解决方案1】:

感谢 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 (someVart === 0) {
    // Some code
} else {
    // Some code
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-07
    • 1970-01-01
    • 2016-05-29
    • 1970-01-01
    • 2017-04-06
    • 2017-05-08
    相关资源
    最近更新 更多