Я пытаюсь использовать connection
из connection.js файла и использовать его в другом файле webFrontend.js с помощью exports
объекта. Теперь то, что я получаю на котором работает сервер является:Почему это соединение не определено?
{
"Result": "undefinedThis is result"
}
Это означает, что connection
не определен. Почему это происходит? connection
работает нормально, если getConnection
создается в том же (webFrontend.js) файла, но проблема в том, когда я использую getConnection
в той же функции экспорта в connection.js отсюда connection
не определена ошибка:
Вот 2 необходимые файлы (маршруты файл не имеет никаких проблем), что объясняет то, что я делаю:
connection.js
var mysql = require('mysql');
exports.connExport = function() {
var connectionPool = mysql.createPool({
host: 'localhost',
user: 'root',
password: '',
database: 'rockcity_followme'
});
if(connectionPool) {
connectionPool.getConnection(function (err, connection) {
if (err) {
return err;
} else {
return connection;
}
});
}else{
var abc="return error";
return abc;
}
}
webFrontend.js
var connObj=require('../Routes/connection.js');
var connection=connObj.connExport();
exports.getIndivRecords= function(req, res, next){
res.send({
Result: connection+"This is result"
});
return next();
};
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-a-асинхронный вызов) – JJJ
Я не понимаю, что у него есть в моем вопросе? –
'connectionPool.getConnection' является асинхронной функцией. Почему вы думаете, что у него есть параметр обратного вызова? – JJJ