我什么时候可以使用Meteor.同步调用



文档上写着

最后,如果您在客户端的存根中并调用另一个存根方法,则不执行另一个方法(不生成RPC,什么都没有)"真正的")。如果另一个方法有一个存根,这个存根就会存在为方法执行。方法调用的返回值是存根函数返回值。客户端执行没有问题一个存根同步,这就是为什么它可以被客户端使用同步流星。从方法体内部调用form,如前面描述。

但是我不知道这意味着什么。存根是什么?我如何在存根中运行它?事件是存根吗?

您可以使用Meteor。只在服务器上同步调用。

'存根'是在客户端运行的Meteor.methods。通常它运行在服务器端。

当它在客户端运行时,它实际上不做任何事情,这就是为什么它是一个存根。这对于模拟延迟补偿的效果非常有用。

E。G可以是

Meteor.call("create_something", function(err,result) { alert(result) });

在你的服务器端

Meteor.methods({
    create_something: function() {
         SomeCollection.insert({date: new Date()});
    }
});

因此,当您运行Meteor.call时,它将在服务器上插入记录。如果客户端订阅了客户端,它也会得到这个结果,但要过一段时间-由于服务器和客户端之间的延迟。

如果您将存根方法添加到客户端:

Meteor.methods({
    create_something: function() {
         SomeCollection.insert({date: new Date()});
    }
});

现在,如果您这样做,客户端将添加这个模拟的非真实记录,直到服务器返回一个结果。

它的想法是使UI更具响应性,并使Meteor.call作为即时(UI方面)的SomeCollection.insert直接在客户端。

最新更新