app.jsузел JS - Узел MySQL - результат не определен
MyDatabase = require("./mysql");
...
var availableRooms = mydb.checkRoomStatus();
console.log("Rooms " + availableRooms);
//undefined.
mysql.js
MyDatabase.prototype.checkRoomStatus = function() {
this.con.query('SELECT * FROM rooms WHERE status = "open" LIMIT 1',function(err,rows){
if(err) throw err;
console.log('Data received from Db:\n');
console.log(rows); // results are coming here.
return rows;
});
}
Первый console.log выводит "неопределенное" для переменной availableRooms ,
Я думаю, что я должен использовать функцию обратного вызова для такого запроса.
Но я не знаю, как его использовать. Когда я ищу в Интернете, я не найду никого, использующего отдельный файл для mysql, чтобы получить результаты обратного вызова.
вы можете дать ссылку на точный пакет лимфоузлов MySQL, который вы используете? есть много, поэтому, чтобы избежать путаницы, прежде чем люди начнут отвечать. –
@ParthapratimNeog Я не думаю, что это поможет, так как вы можете увидеть, как OP пытается вернуть результат от обратного вызова. – Ziki
Возможный дубликат [Как вернуть ответ от асинхронного вызова?] (Http: // stackoverflow. com/questions/14220321/how-do-i-return-the-response-from-a-асинхронный вызов) – Ziki