私はまだnodejsとJavascriptを使い慣れていませんが、私の質問が非常にシンプルなように見えても申し訳ありませんが、苦労してネット上で答えが見つからないようです。モジュールエクスポートでオブジェクトを渡す
基本的には、スクリプト(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