PubSub 和方法之间的区别

Difference between PubSub and Methods

Meteor 中的 PubSubMethods 有什么区别?!

我可以像 Publishs 一样将 Methods 放在服务器文件夹中吗?

在我看来是一样的,但方法更具反应性。

What is the difference between PubSub and Methods in Meteor?!

发布是反应性的,它们提供游标。订阅可让您在客户端的 minimongo 数据库中获得匹配的出版物。另一方面,必须调用方法而不是订阅方法,它们主要设计用于执行服务器端任务,出于多种可能的原因,您不想处理客户端。

有关出版物的更多详细信息:https://www.discovermeteor.com/blog/understanding-meteor-publications-and-subscriptions/

这里是方法: http://meteortips.com/first-meteor-tutorial/methods/

Can I put Methods in Server folder like Publishs?

是的,你可以而且你应该这样做。例如,将它们放入 server\methods

To me seen like the same, but Methods is more reactive.

这恰恰相反。它们是不一样的,即使你可以用两者达到相似的结果。方法在设计上不是反应性的,pub/sub 是。

它们是同一枚硬币的两个不同面。这是 meteor 中的数据生命周期图:

  • Publish - 哪些数据是从服务器
  • 发送的
  • Subscribe - 客户端请求发布的数据
  • Methods - 如何在服务器上操作来自客户端的数据
    • 注意 - 这通常在客户端和服务器上都是 运行。客户端将预测服务器将做什么,以便它可以立即更新。然后 延迟补偿 将在服务器上的方法 运行 并且做出规范决定时启动。