我有个问题。
我想启动2db调用,然后继续promise链。
我做的一个相当粗鲁的方式是开始这样的承诺:
db.Model.find().then(function() {
return [
firstcall,
secondcall
]
}).spread(function(resultFromFirstCall, resultFromSecondCall) {
//do something once both calls completed
});
用一个空的db调用启动promise链可以吗?或者有更好的方法吗。
我知道我可以引入异步库,但我认为这是一种更干净的方法,如果不影响空数据库的性能的话。Model.find()调用。
我不确定空的find
调用在这里会做什么,因为我从未使用过SequelizeJS,但我很确定你要找的可能是Promise.join
Promise.join( firstCall, secondCall, function( firstResult, secondResult ) {
// Whatever
});
过了一段时间,我找到了一种更好的方法。
Promise.resolve().then(function() {
return [
firstCall(),
secondCall()
];
}).spread(function(resultFromFirst, resultFromSecond) {
//do something with resultFromFirst and resultFromSecond
});