【发布时间】:2017-03-31 02:11:52
【问题描述】:
我正在尝试使用 MYSQL 查询填充一个数组,该查询获取所有行并将行推送到 WordList。
我可以很好地打印方法中的每一行,但是当我超出该方法的范围时,它不会将任何内容推送到 Wordlist。
function getParrotMessage() {
wordList = [];
console.log(wordList);
// Implementation
getWord('result', function (err, result) {
console.log(result); // works, prints the row data in MySQL table
wordList.push(result); // doesn't work
});
console.log(wordList);
return parrot_message;
}
// Method
function getWord(word, callback) {
var query = con.query('SELECT * FROM word_table');
query.on('result', function (row) {
callback(null, row.word);
});
};
词表:[]
wordlist 显示为一个空数组。
任何帮助将不胜感激,只是从 javascript 和 node.js 开始
【问题讨论】:
-
你的方法
getWord是异步!所以第二个console.log(wordList);在返回任何结果之前打印(在你第一次调用wordList.push(result);之前) -
那么我怎样才能真正检索结果数据,以便我可以操纵它并做其他各种事情。我不需要打印它。
标签: javascript mysql node.js callback