2015-07-11 85 views
0

我有一个多页应用程序与几条路线。每个路由的订阅都使用“waitOn”实现,并且工作正常。Iron Router呼叫订阅多少次?

我注意到,当我浏览到不同的页面,以前的路线的订阅被丢弃。到目前为止,没有问题。

我实现的Router.configure水平“waitOn”通话,让特定的订阅可以从所有页面。

我的问题是:有没有铁路由器使该订阅我每次切换页面的新呼叫?我担心这会浪费服务器资源。

谢谢。

回答

0

是的,当您在浏览回到那个页面流星重新订阅切换页面上一订阅下降,后来。

有一个社区包气氛缓存订阅:https://github.com/meteorhacks/subs-manager

+0

谢谢,我觉得这个包会为我有用以后。事实证明,Iron Router每次切换页面时都会在Router.configure级别调用订阅。 – Kavy

0

所以要就此展开,我没有更多的测试,它看起来像即使铁路由器试图运行相同Router.configure订阅每次页面切换后,服务器似乎只运行一次发布功能(我在发布功能中放置了一个console.log以查看)。

我认为这是由他们的文档解释:

如果使用Tracker.autorun反应计算中调用Meteor.subscribe,为 例如,预订将自动取消 时计算无效或停止;这不是 需要呼叫停止对自动运行内的订阅。 但是,如果您的run函数的下一次迭代订阅了 相同的记录集(相同的名称和参数),流星很聪明,可以跳过浪费的取消订阅/重新订阅。

+0

啊,我无法找到它,但@akshat了这一切对SO某处一个很好的写了。尽管服务器只运行一次发布,但必须重新将所有数据重新发送到客户端。 –