Meteor如何处理依赖失败的乐观操作?

时间:2015-11-20 20:52:14

标签: meteor error-handling minimongo optimistic optimistic-ui

Meteor的乐观UI如何处理服务器拒绝和依赖操作上的错误?

如果我这样做:

var item1Id = Items.insert({list: groceriesId, name: "Watercress"}); // op1
var item = Items.findOne({_id: item1Id});
Items.update(item, {$set: {name: "Peppers"}}); // op2

Items.insert({list: groceriesId, name: "Cheese"}); // op3

如果op1在服务器端失败但在客户端成功,op2op3会发生什么? 它们都会回滚吗?

1 个答案:

答案 0 :(得分:1)

如果op1失败,那么op2将被回滚(因为它是对不存在的对象的更新)。 op3将成功,假设它也不会原子地失败。

如果您想要阻止op3发生,除非您确定op1已经成功,那么您可以在op1的回调中执行此操作。