나는 nodejs와 자바 스크립트에 아직 익숙하지 않은데, 내 질문에 매우 단순한 것처럼 보이지만 많은 어려움을 겪고 있고 그물에서 답을 찾을 수없는 것 같아서 미안하다.모듈 내보내기가있는 객체 전달하기
기본적으로 스크립트 (sqlRequest.js)를 호출하고이를 호출하는 동안 정수를 전송합니다. 이 스크립트는 내 데이터베이스에 SQL 요청을 보내고 결과 (객체)를 원본 파일로 반환합니다. + essai : 나는 그을 console.log ("INDEX"를 볼 수있는 콘솔에서
exports.sendSQL = function(id) {
var mysql= require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'bcombes',
password : 'bertrand1994',
database : 'totalkpi'
});
connection.connect();
var sql ="SELECT * FROM tra_ticket where id=?";
var insert=[id];
sql=mysql.format(sql, insert);
connection.query(sql, function(err, rows, fields) {
if (err) {
console.log('Error while performing Query.');
connection.end();
}
else {
connection.end();
console.log(rows);
return rows;
}
});};
:
router.post('/request', function(req, res, next){
var id = req.body.id;
var essai = require('./sqlRequest.js');
console.log("INDEX: "+essai.sendSQL(id)); });
그리고 이제 sqlRequest.js 코드 :
다음은 코드입니다. sendSQL (id)); 정의되지 않은 것으로 보이며 console.log (행) 앞에 표시됩니다.
서버가 함수가 끝나고 어쨌든 변수를 표시 할 때까지 기다리지 않을 수 있습니까?
어쨌든 시간을내어 도와 주셔서 감사합니다.
당신이 콜백이 필요합니다, 그래서 당신은 DB에 대한 비동기 호출을 트리거됩니다 함수 결과를 기다리는 함수 – siva