我是JS的新手,我有一个简单的问题。我正在编写一个node_redis代码来连接到数据库。 我已经创建了一个db模块,其中有一个init函数来启动连接。 该模块还有另一个查询数据库的功能。对于查询,我将需要第一个函数的连接(dbConnection)对象,然后在第二个函数中使用它。我该怎么做呢?我可以通过使用全局变量来完成,但大多数地方告诉我它是一个坏主意。JS - 将连接(对象)从一个函数传递到另一个
对不起,如果问题很蠢,我正在学习如何编码。谷歌的结果告诉我,它可以通过将其作为对象属性传递来完成。但是我不知道在我的背景下做事情的正确方法,或者甚至如何去做。编辑: 尝试另一种方式。仍然失败。
module.exports = redisDb = (function() {
var config = require('../config');
var redis = require('redis');
return {
connection: function(config) {
var dbConnection = redis.createClient(config.db.port, config.db.host, {no_ready_check: true});
dbConnection.auth(config.db.authKey, function() {
console.log("Authenticated!");
});
return dbConnection
},
getValue: function(connection, callback) {
connection.hgetall("hosts", function (err, obj) {
console.dir(obj);
});
}
}
})();
但如果我从init调用dbconnection,那么每个查询都会创建一个新的连接。一般来说,我想重复使用相同的连接。 另外,我如何使dbconnection成为对象属性?你能告诉我吗? –
其中一种方法是:{property_name:property_value_object} –