在 SQL 查询之外导出值(回调地狱)[重复]
Posted
技术标签:
【中文标题】在 SQL 查询之外导出值(回调地狱)[重复]【英文标题】:Export a value outside a SQL query (Callback Hell) [duplicate] 【发布时间】: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
【问题讨论】:
是回调,不同步执行。 callbackhell.com 好的,我会看你的网站,谢谢你的帮助^^ 【参考方案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
【讨论】:
以上是关于在 SQL 查询之外导出值(回调地狱)[重复]的主要内容,如果未能解决你的问题,请参考以下文章