2014-03-27 93 views
2

好的,所以我对Meteor和整体编程都很陌生,我有一个简单的最佳实践类型的问题。我应该什么时候订阅流星收藏?

我正在使用铁路路由器,并一直使用它来订阅不同的路径。我试图尽可能精简,只订阅我需要使用waitOn()的集合。但是今天下午做了一些阅读后,似乎可能是过度的。

什么时候应该订阅集合的最佳做法是什么?

我的猜测是,如果你有一个集合,你在多个页面上加载整个集合的开始。然后只通过铁路路由器的waitOn装载你只需要的东西。另外,测试开始时加载集合是否导致加载时间问题的最佳方法是什么?

我知道这不是一个全面的答案,每个项目都不同,但任何建议,将不胜感激。

感谢

回答

2

有这个没有唯一的答案,因为这既取决于你在认购和你愿意启动和不断变化的路由时,当容忍延迟的数据量。

waitOn是一个强大的工具,但它也是完全合理的激活全球订阅。重要的是要注意,铁路由器通常在路由改变时启动和停止订阅。我可以想象一个场景,根据请求的路线,您将不断启动和停止特定订阅。通过在路由器外启动预订,可以避免延迟,但这会为启动延迟交换路由延迟。

您需要试验一下,看看这些东西如何影响您的应用程序性能,以确定最佳选择。我会告诫你的是,因为订阅数据的大小是延迟的一个重要因素,所以你可能会发现当你从开发转移到生产时你的结果会发生变化。

我对测量加载时间的唯一建议是使用APM。我还没有尝试过,但我听说它可以帮助我们深入了解性能。

+0

感谢您的反馈意见。这几乎正​​是我需要听到的。很多程序设计似乎都在一个非常稳固的“有时”的答案中,但至少我明白为什么它是“有时”的。 – yankeyhotel

+0

你确定如果两页使用相同的订阅(复制),当你在两页之间时,数据被重新读取吗?我不认为这是如果你直接在他们之间。还有一些工作正在进行中,即当您转到另一个页面时不立即停止订阅,而是让他们在额外的时间内保持活跃状态​​,以防用户返回同一页面。 –

+0

在IR 0.7上,当我使用相同的'waitOn'在两条路由之间切换时,我看到每个转换都会调用相应的发布函数。我怀疑当'sub-manager'分支被合并时这可能会被优化。 –