我已经开始在一个简单的 node.js 应用程序中使用 Q Promise 包。所以我对在所有承诺序列完成后如何关闭数据库连接感兴趣。
例子:
var toDbConnectionString = function(dbSettings) {
return "mongodb://" +
dbSettings.user + ":" +
dbSettings.password + "@" +
dbSettings.url;
};
var connectionString = toDbConnectionString(dbSettings);
Q.nfcall(
MongoClient.connect,
toDbConnectionString(dbSettings))
.then(function(db) {
return Q.ninvoke(db, "collectionNames");
})
.then(function(collections) {
console.log(collections);
})
.catch(function() {
console.log(arguments);
});
我想在显示集合名称后关闭连接,但这个匿名函数中没有数据库上下文。
有没有办法用承诺模式处理这种情况?