我了解交易,但它在回调中的处理方式使得它看起来像是一次点击数据库。之后,它被传送回服务器,结果,服务进行下一个操作,依此类推。
我想一次做多个不相关的操作,真正有效(不是链接)
像:
user.destroy();
post.create({...});
anotherPost.destroy();
他们都是独立的,不需要被链接。我只想一次执行所有这些。我怎么能这样做?
答案 0 :(得分:3)
这里最简单的方法是使用Promise.props,例如:
var promises = {
userDestroy = user.destroy(),
postCreate = post.create(),
postDestroy = anotherPost.destroy()
};
sequelize.Promise.props(promises).then(function(results) {
/// each promise is resolved here, results:
results.userDestroy;
results.postCreate;
results.postDestroy;
});
以下是更多信息:http://bluebirdjs.com/docs/api/promise.props.html如果您需要一系列承诺,可以使用.all
:http://bluebirdjs.com/docs/api/promise.all.html