请问怎样使用promise同时读取数据库的3个表~~
数据库是mongo 有A,B,C,三个collections,我需要使用promise同步读取这三个合集的数据。。。看了官方文档看不懂啊,求大神来个例子~~
A.find().then()… …
21 回复
同步啊,看错了,刚写了个异步,删了。。 如果A已经promise化了的话
A()
.then(function() {
return B();
})
.then(function() {
return C();
})
.then(function() {
})
.catch(function() { });
.then(function(b_result) {
return Promise.all([
Promise.resolve(b_result),
C.find()
]);
})
.spread(function(b_result, c_result) {
})
A
.find()
.then(function(a){
console.log(a);
return Promise.all([
B.find(),
Promise.resolve(a);
]);
})
.spread(function(b, a){
console.log(arguments)
})
function getExample() {
return promiseA(…)
.bind({}) // Bluebird only!
.then(function(resultA) {
this.resultA = resultA;
// some processing
return promiseB(…);
}).then(function(resultB) {
// more processing
return // something using both this.resultA and resultB
}).bind(); // don't forget to unbind the object if you don't want the
// caller to access it
}
这种方式多优雅