我有一个问题。
我想启动2个db调用,然后继续使用promise链。
我做的一个相当狡猾的方式是开始这样的承诺:
db.Model.find().then(function() {
return [
firstcall,
secondcall
]
}).spread(function(resultFromFirstCall, resultFromSecondCall) {
//do something once both calls completed
});
使用空的db调用启动promise链是否可以?或者有更好的方法。
我知道我可以引入异步库但是我认为这是一种更干净的方法,如果对空的db.Model.find()调用没有性能影响。
答案 0 :(得分:4)
由于我从未使用过SequelizeJS,所以我不确定这里会有空find
调用,但是我很确定你所寻找的是Promise.join
Promise.join( firstCall, secondCall, function( firstResult, secondResult ) {
// Whatever
});
答案 1 :(得分:-1)
过了一段时间,我发现了一种更好的方法。
Promise.resolve().then(function() {
return [
firstCall(),
secondCall()
];
}).spread(function(resultFromFirst, resultFromSecond) {
//do something with resultFromFirst and resultFromSecond
});