`Meteor.call` - 从服务器代码调用服务器方法?

时间:2016-04-14 00:56:11

标签: meteor methods server

从Meteor docs我知道:

  

Meteor.call可以是used anywhere

在哪种情况下你会从服务器使用Meteor.call直接从另一个模块/类/对象调用方法?

=== server/file.js ===
let myPromise = Meteor.callAsync('aServerMethod', options);

VS

=== server/file.js ===
let myPromise = aModule.aMethod(options);

1 个答案:

答案 0 :(得分:3)

一个关键的区别是在Meteor.method内部,this绑定到方法调用对象,该对象提供了一堆诸如this.userIdthis.unblock之类的东西,请参阅docs for more。你不能在正常的职能中得到这个。

另一个是,所有方法都可以从客户端调用,因为我确定你知道。因此,如果你想做仅服务器的东西,我不会使用Meteor.method而是常规函数。如果我想将serverMethod也公开给客户,我也会使用Meteor.method