我是Node的新手,并且还在努力学习回调。我正在尝试编写一个从MySQL数据库读取并返回单个记录的函数。我能够连接到数据库并通过日志记录查看我期望的值,但是从最后一个console.log收到一条错误消息,表明我的变量speechText未定义。下面的代码位于需要将speechText用于其他事物的函数内部。我不确定我做错了什么。
var speechText;
function readRDS(params, callback){
var connection = MySQL.createConnection({
host : 'myDBHost',
user : 'myUserName',
password : 'myPassword',
database : 'myDBName'
});
connection.connect();
console.log("Connected to DB.");
var SQL = params.SQL;
connection.query(SQL, (error, result) => {
console.log('Result from within callback: ' + result.length);
connection.destroy();
speechText = result[0].Response;
callback();
});
}
readRDS(params, myResults => {
console.log('SpeechText: ' + speechText );
});
console.log(speechText);
//Do something with speechText here