옥과 함께 노드 - MSSQL 문의 반환 값을 어떻게 렌더링합니까?
-
02-01-2020 - |
문제
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 쿼리를 비동기 적으로 실행하고 이후의 결과를 내 옥 템플릿으로 전달하는 적절한 방법은 무엇입니까?
해결책
쿼리에서 콜백에 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 콜백을 사용하여 두 개의 매개 변수를 수락하는 표준 노드 연습을 사용하는 것이 좋습니다.
제휴하지 않습니다 StackOverflow