0
var Promise = require("bluebird");
var MongoDB = Promise.promisifyAll(require('mongodb'));
var MongoClient = MongoDB.MongoClient;
var database = "mongodb://localhost/test";
MongoClient.connect(database)
.then(function(db) {
var c1 = db.collection('c1');
var c2 = db.collection('c2');
return Promise.all([
c1.count().then(function(count) {
if(count==0) {
return c1.insertMany([{a:1},{a:2}]);
}
else { // what should I write here?
} //
}),
c2.count().then(function(count) {
if(count==0) {
return c2.insertMany([{a:1},{a:2}]);
}
})
]);
})
.catch(function(err) {
console.log(err)
});
它只是掛在那裏。爲什麼這個promise.all不起作用?
我應該在其他部分寫什麼?
if(count==0) {
return c1.insertMany([{a:1},{a:2}]);
}
else { // what should I write here?
} //
好了,但只要返回一些東西。查看MDN [文檔和示例](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise/all)。你最大的問題是'Promise.all()'本身不做任何事情,你需要用'.then()'來解決實際執行任何事情。 –