【发布时间】:2019-03-08 01:08:03
【问题描述】:
我试图了解为什么以下代码不起作用。基本上,我想在 Node 模块中处理数据库连接,同时使用相同的数据库连接。
这是我的模块:
var MongoClient = require("mongodb").MongoClient;
var url = "mongodb://localhost:27017";
module.exports = {
resource: null,
connect: function() {
MongoClient.connect(
url,
function(err, db) {
if (err) throw err;
console.log("Connected!");
this.resource = db; // Updating the object's attribute
}
);
},
};
还有我的主文件:
var db = require('./db.js');
db.connect(); // Outputs "connected!"
http.createServer(function (req, res) {
console.log(db.resource) // Outputs "null"
}).listen(8080);
resource 属性永远不会更新。我怀疑是范围问题,但我不知道如何解决。
【问题讨论】:
标签: javascript node.js scope node-modules