如果有人在客户端上做某事,例如
Foo.insert({blah : 1})
哪里Foo
是 Meteor 集合,这实际上触发了一个 Meteor.method 调用,如http://docs.meteor.com/#meteor_methods的最后一段中所述,该调用在客户端和服务器上执行代码。
但是,假设我定义了一个做同样事情的方法(在客户端和服务器上):
Meteor.methods({
bar: function() {
Foo.insert({blah : 1})
}
});
现在,我在客户端触发这个
Meteor.call("bar");
Foo.insert
作为该方法的结果,现在将在客户端和服务器上调用。但是,客户端调用insert
知道不再调用服务器,因为它本身就是一个方法?
此外,有没有一种方法可以insert
在客户端调用而不会自动触发规范的服务器端延迟补偿调用并产生同步?(关于我为什么要这样做,请参阅Loading a Meteor client app with fake fire-and-forget data)