【问题标题】:when to use a Meteor Method vs normal function?何时使用流星方法与正常功能?
【发布时间】:2014-03-19 23:07:32
【问题描述】:

我想,我有一个相对简单的问题。我想知道 Meteor,特别是当我定义我希望客户端能够调用的服务器端函数时,我什么时候使用方法而不是普通函数?为什么我不能只在 Meteor 服务器代码中使用全局函数而不是定义 Meteor 方法?

谢谢!

【问题讨论】:

    标签: meteor


    【解决方案1】:

    仅服务器定义的函数只能由服务器代码访问(即使是全局定义的)。因此,例如,如果您在 server/util.js 中定义了一个函数,它将可供客户端使用。

    但是,您可以定义一个对服务器和客户端都是全局的函数,方法是将其放置在 serverclient 目录之外,例如在lib.

    一般来说,当你想要一个只能在服务器上产生的副作用时,你会选择在函数上创建一个方法。例子:

    • 您需要对 URL 进行签名并将密钥仅保留在服务器上
    • 您需要执行一个只能在服务器上完成的数据库操作(由于 minimongo 的限制)

    重要提示 - 来自客户端的方法调用是异步的(您需要提供回调函数才能知道方法的结果),因此这也可能会影响您的决定。

    【讨论】:

    • 谢谢,那我问你,客户端 Meteor 方法的意义何在?我也见过这些,是的,感谢客户端 Meteor 方法调用的回调函数提示,一开始我花了一段时间才弄清楚
    • 当你在客户端定义一个方法时,它被称为存根——这是为了延迟补偿。您可以在文档的methods sectionthis video 中找到有关存根的更多信息。
    猜你喜欢
    • 2016-11-16
    • 1970-01-01
    • 1970-01-01
    • 2016-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多