Meine Anwendung ist ein einfacher mysql-Client, der über die Befehlszeile verwendet wird - er stellt eine Verbindung zur Datenbank her und führt wenige Abfragen aus, um Informationen aus der Datenbank abzurufen. Mysql Funktionalität ist in einer Klasse gekapselt und Problem ist, da Aufrufe an MySQL-Server async (verständlicherweise) ist - der Code-Flow erreicht das Ende der Anwendung.Umgehendes asynchrones Problem in der node.js-Anwendungsbefehlszeile
Und ich bin nicht in der Lage, auf "das" (Mysql) innerhalb einer Methode der Mysql-Klasse beziehen.
Wie kann ich dieses Problem umgehen?
Unten ist mein Code.
//CLASS
function Mysql(config) {
//...
}
//METHOD
Mysql.prototype.getDbInfo = function (cbk) {
this.showTables(function(e,r) {
// >>>>>>>>>> PROBLEM HERE using 'this' <<<<<<<<<<<
console.log(this.configVar);
});
}
module.exports = Mysql;
//CLASS OBJECT
var test = new Mysql(config);
//METHOD INVOKE
test.getDbInfo(function (err,results) {
//...
});