私のアプリケーションは、コマンドラインから使用される単純なmysqlクライアントです。データベースに接続し、データベースから情報を取得するためのクエリをほとんど作成しません。 Mysqlの機能はクラスにカプセル化されており、mysqlサーバへの呼び出しは非同期(わかりやすく)なので、コードフローはアプリケーションの終わりに達します。node.jsアプリケーションコマンドラインでの非同期問題の回避方法
そして、私はMysqlクラスのメソッドの中で 'this'(Mysql)を参照することができません。
この問題を回避するにはどうすればよいですか?
以下は私のコードです。
//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) {
//...
});