0
mysql db에서 데이터를 가져오고 내 ejs 파일에서 렌더링 할 데이터를 보내야합니다.ejs 노드에서 렌더링 할 쿼리 데이터 반환 js
router.get('/', function(req, res, next) {
res.render('index', { speedAccelData: getSpeedAccelData() });
});
module.exports = router;
다음은 데이터베이스에서 데이터를 가져 오는 데 사용한 기능입니다. 필요한 데이터와 함께 jsonStr
을 성공적으로 인쇄합니다. 함수에서 jsonStr
을 반환해야합니다.
var getSpeedAccelData = function() {
var jsonStr;
var con = mysql.createConnection({
host: "localhost",
user: "root",
password: "root",
database: "db_name"
});
con.connect(function(err){
if(err){
console.log('Error connecting to Db');
return;
}
});
con.query('SELECT * FROM table_name',function(err, result){
if(err) throw err;
jsonStr = JSON.stringify(result)
console.log(jsonStr);
});
con.end();
}};
어떻게 렌더링 할 쿼리 데이터를 반환 할 수 있습니까?
는 비동기 **,이 같은 값을 ** 반환 할 수 있어요 . 하나의 해결책은'getSpeedAccelData' 함수에 콜백을 전달하는 것입니다. 또는 getSpeedAccelData 함수에서'Promise'를 반환 할 수 있습니다. –
[비동기 호출에서 응답을 반환하는 방법은 무엇입니까?] (http://stackoverflow.com/questions/14220321/how-do-i- return-from-an-asynchronous-call) –