流星在初始数据加载和后续添加之间不同

时间:2012-11-18 23:57:59

标签: javascript meteor

我有一个应用程序一次加载50章。在查看章节的同时,我希望应用程序在加载新章节时播放声音。这就是我认为它应该完成的方式

Chapters.find().observe({
  added: function (user) {
    playSound()
  }
});

然而,这会在初始负载时发出声音,而不仅仅是后续的新章节。我怎么才能让它只听到新的章节呢?

编辑:寻找流星答案,而不是setTimeout或其他东西。虽然如果必须,我会这样做。

1 个答案:

答案 0 :(得分:1)

在添加observe回调之前,您可以等待第一批完整的章节加载。

Meteor.subscribe("chapters", someParam, function(){
    Chapters.find().observe({
      added: function (user) {
        playSound()
      }
    }); 
});

当然,你应该只添加一次观察者,而不是每次订阅 - 回调都会被激活。