Добрый день. Я новичок в Node , сильно не критикуйте. Столкнулся с проблемой при возврате значения функции при вызове из модуля.
Например есть модуль:
function GetTableData() {
var connection = mysql.createConnection({
host: setup.host,
user: setup.user,
password: setup.password,
database: setup.database
});
connection.connect();
var query = connection.query("SELECT * FROM tables", function (error, result) {
if (error) { console.log(error.message); throw error; }
jdata = JSON.stringify(result);
console.log('mod_mysql_GetTables:AppData:' + jdata);
return jdata;
});
connection.end(function () {
console.log('Connection Close!');
});
function GetTest(){
var x =5 ;
return x;
}
module.exports.GetTableData = GetTableData();
module.exports.GetTest = GetTest();
Этот модуль я вызываю в основном файла index.js по средствам require()
var mod_mysql = require('./mod_mysql');
var tables = mod_mysql.GetTableData;
console.log(tables);
В итоге я получаю undefined
Делаю тоже самое с функцией GetTest, все работает нормально.
Если запускать модуль без подключения то все работает нормально, выводятся данные из mysql.
Подскажите что я делаю не так.
module.exports.GetTableData = GetTableData;– Dmytro Feb 19 '18 at 07:23tables()– Dmytro Feb 19 '18 at 07:40