[英]How do I render return values of a node-mssql statement with Jade?
我有一個運行Express和Jade的Node.js服務器。 在HTTP請求上,服務器將執行以下功能:
function home(req, res) {
res.render("site/index", {recordset: recordset}); //render the Jade template
}
現在,我想將數組傳遞給上面的記錄集變量,我可以在Jade中循環遍歷該變量以填充html頁面上的下拉列表。 我已經檢索到所需的數組,如下所示:
function runSQLSelect() {
sql.connect(config.db, function(err) {
var request = new sql.Request();
request.query("select MyColumn FROM MyTable", function(err, recordset) {
console.log(recordset);
});
});
}
異步運行SQL查詢並將后續結果傳遞到我的Jade模板中的正確方法是什么?
查詢的回調中將具有res.render。
function runSQLSelect(callback) {
sql.connect(config.db, function(err) {
var request = new sql.Request();
request.query("select MyColumn FROM MyTable", function(err, recordset) {
console.log(recordset);
callback(recordset);
});
});
}
function home(req, res) {
runQSQLSelect( function(result) {
res.render("site/index", {recordset: result}); //render the Jade template
});
}
注意,您可能希望使用setImmediate
以異步方式調用回調,也可以考慮讓runSQLSelect回調利用接受兩個參數callback(err,data)
的標准節點實踐。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.