Iron路由器提供了一种使用“subscription”或“waitOn”等待订阅准备就绪的机制。但是在订阅准备好之前,页面才会呈现。
在我的情况下,我有一些大型馆藏可能需要一些时间来订阅。在显示任何内容之前等待可能不是一个好主意(特别是它是主页)。因此,我试图将subscribe函数调用放在onBeforeAction钩子里,它工作正常。订阅最初不会返回任何数据,然后当数据到达时,它会再次被动地运行。这样,页面首先会显示一些内容,然后页面的某些部分随后将填充真实内容。
我之前没有看到过这种方法。所以我想知道这是否是一种以重新计算为代价来减少感知响应时间的好方法。在这种方法中有任何退缩吗?
我能想到的一件事是,如果我在Template.name.rendered中放入一些依赖于数据的代码,它可能行为不正确,因为渲染的函数只执行一次。它实际上给我带来了一些问题,我还有另外一个问题:Meteor, where to put d3 code?
除了我确定的问题之外的任何其他问题?
答案 0 :(得分:0)
也许您可以尝试Meteor的订阅管理器: https://github.com/meteorhacks/subs-manager 它应该让你缓存一些潜艇以提高响应速度。 您是否尝试使用kadira来追踪更多订阅?