对于我的NodeJS项目,我想创建一个简单的模块,它将为我提供DB句柄。我想到了这样的事情:
settings = module.exports.settings =
db: 'test'
clear_interval: -1
host: '127.0.0.1'
port: '27017'
auto_reconnect: true
{Db, Connection, Server, Collection, BSON, ObjectID} = require 'mongodb'
db = new Db settings.db, new Server settings.host, settings.port, { auto_reconnect: settings.auto_reconnect }
db.open ->
module.exports.db = db
但这真的很安全吗?或者还有另一种方法可以确保在加载模块时正确设置module.exports.db
吗?
编辑在打字之前意外点击了输入。
答案 0 :(得分:1)
那不行。
module.exports.db
在需要模块后设置。
你应该做的事情就像是
module.exports.DB = function (cb) {
getDbAsync(cb);
}
强制你的api异步