Express アプリがあり、データベースから取得したものを表示したいとします。これを含むファイルがあります(データベースとのやり取りに node-mysql を使用)
exports.getData = function() {
connection.query('SELECT * FROM table', function (error, rows, fields) {
return rows[0];
});
}
それを呼び出して、データをテンプレート言語に渡すことができれば幸いです。ただし、関数が終了するまでコールバックが返されず、getData が undefined を返すため (私が思うに)、そのようには機能しません。
コールバックに関する重要な「あはは」の瞬間を見逃しているに違いありません。データベースとやり取りしたい場合、routes/index.js (提供しているページのコントローラー) ですべてのロジックを実行し、一連のコールバックの最後にページを最後にレンダリングする必要がありますか?