すべての行を取り、WordListに行をプッシュするテーブルでMYSQLクエリを使用して配列にデータを挿入しようとしています。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ので始まり、感謝し、
あなたの方法のようにそれを使用する 'getWord'は非同期**です**!したがって、最初に 'wordList.push(result);'を呼び出す前に、結果が返される前に2番目の 'console.log(wordList);'が出力されます。 – Molda
どうすれば結果データを実際に取得できますかそれを操作したり、さまざまなことをすることができます。私はそれを印刷する必要はありません。 – user1920076