2

好的,所以我是 Meteor 和整个编程的新手,我有一个简单的最佳实践问题。

我正在使用 Iron Router,并且一直在使用它来订阅不同的路径。我正在尝试尽可能精简,并且只使用 waitOn() 订阅我需要的集合。但是在今天下午做了一些阅读之后,似乎它可能有点矫枉过正。

当您应该订阅一个集合时,最佳实践是什么?

我的猜测是,如果您有一个在多个页面上使用的集合,请在开始时加载整个集合。然后只通过 Iron Router 的 waitOn 不时加载你只需要的东西。此外,测试一开始加载集合是否会导致加载时间问题的最佳方法是什么。

我知道这没有一个包罗万象的答案,每个项目都不同,但任何建议都会受到赞赏。

谢谢

4

1 回答 1

2

对此没有单一的答案,因为它既取决于您订阅的数据量,也取决于您在启动和更改路由时容忍延迟的意愿。

waitOn是一个强大的工具,但激活全局订阅也是完全合理的。需要注意的是,iron-router 通常会随着路由的变化而开始和停止订阅。我可以想象一个场景,根据请求的路由,您将不断启动和停止特定订阅。通过在路由器外部启动订阅可以避免这种延迟,但这会将路由延迟换成启动延迟。

您需要进行试验并了解这些因素如何影响您的应用程序性能,以确定最佳选择。我会提醒您,由于订阅的数据大小是延迟的一个重要因素,您可能会发现您的结果会随着您从开发转向生产而发生变化。

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

于 2014-03-28T12:04:03.167 回答