我想填充一個數組,使用MYSQL查詢獲取所有行並將行推送到WordList的表上。如何返回MySQL查詢的回調並推送到Node.js中的數組?
我可以在方法中打印每行,但是當我離開該方法的範圍時,它不會將任何內容推送到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);
});
};
單詞表:[]
單詞一覽顯示爲空數組。
任何幫助將不勝感激,只是用JavaScript開始,Node.js的
你的方法'getWord'是** **同步!所以第二個'console.log(wordList);'是在返回任何結果之前打印的(在你甚至第一次調用'wordList.push(result);'之前) – Molda
那麼我怎麼才能真正檢索結果數據,所以我可以操縱它並做各種其他事情。我不需要打印它。 – user1920076