gpt4 book ai didi

mysql - 如何在查询语句之外从mysql查询中获取值?

转载 作者:行者123 更新时间:2023-11-29 18:07:15 24 4
gpt4 key购买 nike

这是console.log下面的函数

function quo (value){
value = connection.query(
'SELECT role from `roles` where `id` = 1' ,
function (error, results, fields) {
if (error) throw error;
console.log('The role is: ', results[0].role);// result here The role is : admin
});
console.log(value);
}

这里的结果是查询对象 Query {domain:null,_events:{error: .. etc} ##

我像这样调用它:

quo();

最佳答案

tl;dr 一切都发生在回调中。

您被 Javascript 的异步特性绊倒了。当您的 console.log(value); 调用运行时,查询尚未(必然)完成。因此,当时无法获得查询结果。

许多开发人员使用这样的模式,当查询结果到达时,使用回调函数来处理下一步。

function quo (success){
value = connection.query(
'SELECT role from `roles` where `id` = 1' ,
function (error, results, fields) {
if (error) throw error;
console.log('The role is: ', results[0].role);
success (results[0].role);
});
}

quo (function (role) {
console.log(role);
/* do something useful with the role that came back from the query */
});

Promise 对象使此类内容在 Node.js 中更易于阅读。但无论如何解释它们超出了 Stack Overflow 答案的范围。

关于mysql - 如何在查询语句之外从mysql查询中获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47730368/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com