我是nodejs的新手,我制作了两个不同的模型,当他们初始化我想使用不同的数据库来获取这里的数据是连接代码:
try {
connection = mysql.createConnection({
host: this.config.host,
user: this.config.user,
password: this.config.password,
database: this.config.database
});
} catch (errorMessage) {
logger.error('Error connecting to MySQL database on ' + this.config.database);
}
connection.connect(function(err){
/**
* Connection needs some time to "get ready?"
*/
setTimeout(function() {
if(err){
deferred.reject(err);
} else {
logger.info('Connected to database' + this.config);
this.connection = connection;
deferred.resolve();
}
}, 1000 );
});
init函数:
this.init = function(){
var deferred = Q.defer();
this.connect()
.then(fun1)
.then(fun2)
.then(function(){
deferred.resolve();
},function(err){
deferred.reject(err);
});
return deferred.promise;
};
这是单身功能(我认为没用):
myclass.getInstance = function(){
if(this.instance === null){
this.instance = new myclass();
this.instance.init().then(function(){
this.connection.end();
}, function(error){
process.exit();
});
}
return this.instance;
}
这些代码在两个不同的模型中使用,当一个获取数据时,另一个用户的旧连接实例(不同的数据库),我该如何修复?