【发布时间】:2014-03-19 23:07:32
【问题描述】:
我想,我有一个相对简单的问题。我想知道 Meteor,特别是当我定义我希望客户端能够调用的服务器端函数时,我什么时候使用方法而不是普通函数?为什么我不能只在 Meteor 服务器代码中使用全局函数而不是定义 Meteor 方法?
谢谢!
【问题讨论】:
标签: meteor
我想,我有一个相对简单的问题。我想知道 Meteor,特别是当我定义我希望客户端能够调用的服务器端函数时,我什么时候使用方法而不是普通函数?为什么我不能只在 Meteor 服务器代码中使用全局函数而不是定义 Meteor 方法?
谢谢!
【问题讨论】:
标签: meteor
仅服务器定义的函数只能由服务器代码访问(即使是全局定义的)。因此,例如,如果您在 server/util.js 中定义了一个函数,它将不可供客户端使用。
但是,您可以定义一个对服务器和客户端都是全局的函数,方法是将其放置在 server 和 client 目录之外,例如在lib.
一般来说,当你想要一个只能在服务器上产生的副作用时,你会选择在函数上创建一个方法。例子:
重要提示 - 来自客户端的方法调用是异步的(您需要提供回调函数才能知道方法的结果),因此这也可能会影响您的决定。
【讨论】: