【发布时间】:2019-12-01 01:10:45
【问题描述】:
我第一次使用 mysql 和 nodejs,我希望通过异步函数在我的网页中输入 sql 查询的结果。我能够得到正确的结果,但无法将其存储在变量中,然后将其用作输入值。
I've tried using this but this doesn't provide a viable solution。我也尝试返回值。是否建议在异步函数外部或内部处理查询?
(async function Ahmedabad() {
let i = 'select RegNumber from Details ORDER BY RegNumber DESC LIMIT 1;';
await con.query(i, [true], (error, results, fields) => {
if (error) {
return console.error(error.message);
}
let x = results[0].RegNumber;
console.log(x); // <------- Shows correct value
});
console.log(x); // <------- Says x is not defined
})()
我想将值存储到一个变量中,然后进一步使用它。
【问题讨论】:
-
"我尝试过使用它,但这并不能提供可行的解决方案。" 您能否详细说明为什么您的问题几乎完全一样'不提供“可行的解决方案”?
-
因为这个问题只有一个答案,而且也没有用。
-
您能否详细说明“不起作用”的说法?它确实指出了代码应该返回一个
Promise对象以进行相应处理的事实。 -
在提供的答案中处理承诺的方式可能存在一些错误,我不断收到“无法读取未定义的属性'then'”。
标签: mysql node.js asynchronous