Я начал использовать пакет Q Promise в простом приложении node.js. Поэтому меня интересует, как я могу закрыть соединение с базой данных после завершения всей последовательности обещаний.
Пример:
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);
});
Я хочу закрыть соединение после отображения имен коллекций, но в этой анонимной функции нет контекста базы данных.
Есть ли способ обрабатывать такие случаи с помощью шаблона обещания?
db
и не использовать его на последнем шаге? - person WiredPrairie   schedule 01.10.2013