用Q承诺处理数据库断开连接
我正在构build一个使用Q
promise与MongoDb
进行MongoDb
的node.js
应用程序。 我试图让它更容错 – 所以,如果MongoDb服务器宕机 – 我的应用程序检测到它,并尝试重新连接
连接初始化为
this.db = Q.nfcall(Mongodb.connect.bind(Mongodb), config.mongoServer).catch(function(){ console.log('could not connect..'); });
然后偶尔读取或写入链接否this.db
承诺
this.db .then(function(db) { var collection = db.collection(pair); return Q.nfcall(collection.mapReduce.bind(collection), map, reduce, { out: { inline: 1 }, query: query }); });
如果MongoDb服务器在连接诺言完成后closures – 它从来没有进入catch
语句。 即使再增加一个接口来进一步保证没有断开连接的错误
有什么build议吗?