Node.js从MySQL查询返回结果
我有以下从数据库获取十六进制代码的函数
function getColour(username, roomCount){
connection.query('SELECT hexcode FROM colours WHERE precedence = ?', [roomCount], function(err, result)
{
if (err) throw err;
return result[0].hexcode;
});
}
我的问题是我在回调函数中返回了结果,但getColour函数未返回任何内容。我希望getColour函数返回的值result[0].hexcode
。
在我调用getColour的那一刻,它不返回任何内容
我尝试做类似的事情
function getColour(username, roomCount){
var colour = '';
connection.query('SELECT hexcode FROM colours WHERE precedence = ?', [roomCount], function(err, result)
{
if (err) throw err;
colour = result[0].hexcode;
});
return colour;
}
但当然SELECT查询在返回值时已经完成 colour
回答:
您只需要对回调中的db查询结果进行处理。就像。
function getColour(username, roomCount, callback){
connection.query('SELECT hexcode FROM colours WHERE precedence = ?', [roomCount], function(err, result)
{
if (err)
callback(err,null);
else
callback(null,result[0].hexcode);
});
}
//call Fn for db query with callback
getColour("yourname",4, function(err,data){
if (err) {
// error handling code goes here
console.log("ERROR : ",err);
} else {
// code to execute on data retrieval
console.log("result from db is : ",data);
}
});
以上是 Node.js从MySQL查询返回结果 的全部内容, 来源链接: utcz.com/qa/431987.html