2014-11-14 63 views
0

鐵路由器提供了一種機制,可以使用「訂閱」或「waitOn」等待訂閱準備就緒。但是,只有訂閱準備就緒後,頁面纔會呈現。鐵路路由器:在onBeforeAction中訂閱集合是一個好主意嗎?

在我的情況下,我有一些可能需要一些時間訂閱的大集合。在顯示任何內容之前等待可能不是一個好主意(特別是它是主頁)。因此,我試圖把subscribe函數調用放在onBeforeAction鉤子中,並且它工作正常。訂閱最初不會返回任何數據,然後當數據到達時,它會再次被動地運行。通過這種方式,頁面首先會顯示一些內容,然後頁面的某些部分隨後會被真實內容填充。

我沒有看到之前討論過的這種方法。所以我想知道這是否是一種體面的方式,以重新計算爲代價來減少感知響應時間。這種方法有什麼缺點?

我能想到的一件事是,如果我在Template.name.rendered中放置一些依賴於數據的代碼,它可能無法正確執行,因爲呈現的函數只能執行一次。它實際上對我造成了一些問題,我還有另一個問題要問:Meteor, where to put d3 code?

除了我確定的問題之外還有其他問題嗎?

+0

也許你應該訂閱一個較小的出版物,如只有_id的,然後通過模板助手和服務器方法獲取更多數據。我使用這兩種方法。 – Guidouil 2014-11-14 22:59:37

回答

0

也許你可以嘗試流星訂閱管理器: https://github.com/meteorhacks/subs-manager 它應該讓你緩存一些潛艇更加敏感。 您是否嘗試使用卡迪拉追蹤更多您的訂閱?

+0

我使用訂閱管理器。但我想使用的頁面是主頁,所以它在這裏沒有幫助。我也使用卡迪拉了一下。 – Fei 2014-11-14 23:30:17

相關問題