В этой функции перечислены все коллекции в базе данных MongoDB с количеством документов в каждой коллекции (bluebird).Есть ли более простой способ перевести обещания из результатов MongoDB?
function listMongoCollections(db) {
var promises = []
db.listCollections().toArray().then((docs) => {
docs.forEach((doc) => {
promises.push(
new Promise((resolve) => {
db.collection(doc.name).count().then((count) => {
doc.count = count
resolve()
})
})
)
})
return Promise.all(promises)
})
}
Есть ли более простой способ сделать это? Используя этот метод, вы наполните приложение кодом, и я даже не включил обработку ошибок.
Вы можете попробовать Q. Инструмент для создания и составления асинхронных обещаний в JavaScript http://documentup.com/kriskowal/q/ – Rudra
Я не вижу, чтобы Q ничего не делал bluebird не может –
@ PålThingbø в качестве источника как Q, так и Bluebird - я могу подтвердить это утверждение. –