今度は2日間サークルを回りました。 私は(接続パラメータがsqlconfigである)私はノードエクスプレスとmssqlデータベースクエリ結果をビューテンプレートに戻すにはどうすればいいですか
getCategories((rs) => console.log('Get-Categories', rs));
を行うとき、私は期待どおりの結果を得るため
function getCategories(callback) {
var conn = new mssql.ConnectionPool(sqlconfig);
var req = new mssql.Request(conn);
console.log('in getCategories');
conn.connect((err) => {
if (err) {
console.log('Connection Error:', err);
}
req.query("Select top 3 * from Categories", (err, rs) => {
if (err) {
console.log('Select error: ', err);
} else {
callback(rs.recordsets[0]);
}
conn.close();
});
})
}
は、私は、データが正しく返されている知っているAzureのSQLデータベースからいくつかのデータを取得しています
私はデータセットをビューに通すのに苦労しています
app.get('/categories', (req, res) => {
res.render('categories.hbs', {
pageTitle: 'Catgories',
currentYear: new Date().getFullYear(),
categories: getCategories((rs) => rs)
});
});
はカテゴリに何も返さないため、コードが呼び出されたときにコールバックが終了していません。
getCategoriesが完了するまでapp.getを待機させ、データがビューに返される準備が整うようにするにはどうすればよいですか。