2017-01-03 133 views
1

我的情況如下: 我在Mongo中有一個集合,每隔幾毫秒更新一次新項目,例如日誌項目。我通過模板中的發佈/訂閱在前端上顯示這些項目,但由於大量更新,列表更新頻繁以致難以閱讀。我只想讓列表每隔幾(幾)秒更新一次。我試圖在客戶端和服務器端都使用睡眠/超時,例如here,舉例說,目前爲止沒有成功。流星發佈/訂閱每個時間間隔

  • 我還可以使用發佈/訂閱嗎?還是應該使用Meteor.setInterval切換輪詢機制?
  • 時間間隔部分應該在發佈還是在訂閱方?
  • 如果發佈/訂閱對我的場景是正確的,那麼我如何每隔幾秒才顯示更新的數據?
+0

你有收集觀察員的嘗試嗎?追加列表作爲文件添加到集合?它不應該重新更新你的整個列表。 –

回答

-1

您應該能夠使用反應變量和自動運行在你的Template.name.onCreated做到這一點:

Template.name.onCreated(function(){ 
var instance = this; 
instance.now = new ReactiveVar(new Date()); 
instance.autorun(function(){ 
    var test = now.get(); 
    instance.subscribe('yourSubNameHere'); 
    setTimeout(function(){ //will update now and fire the autorun again 
     instance.now.set(new Date()); 
    },timeoutHere) 
}); 
)}; 

但如果您的收藏得到大我建議用這樣您的出版物可能有限制嗎?

+0

我不明白這是如何工作的。這不只是重新訂閱? – zim

+0

是的。這不是你想要做的嗎? –

+0

是您在客戶端或服務器端添加的文檔嗎? –