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

回到顶部