我无法从JavaScript的异步函数获取返回值。根据此处How to properly return a result from mysql with Node?和此处Store mysql query rows in variable for later use的其他帖子,我尝试了几种不同的方法。我当前的代码如下。
function get_info(callback) {
var mysql = require('mysql');
var connection = mysql.createConnection({
host: 'xxxxxxx',
user: 'bob',
password: 'bob',
database: 'xxxxxx'
});
connection.connect(function (err) {
if (err) throw err;
connection.query("SELECT Name FROM webform", function (err, result) {
if (err) throw err;
return callback(result);
});
connection.end();
});
}
var newli = get_info(function(result){
stuff_i_want = result;
return stuff_i_want;
});
console.log(newli);
我期望console.log(newli)
打印出从stuff_i_want
函数返回的get_info()
的值,但是我却变得不确定。我试图从存储在变量中的result
中获取connection.query
的值,以后可以使用。