用于更新订阅限制参数的高效模式

时间:2015-06-09 04:11:21

标签: meteor meteor-publications

我使用子管理器,但对此的答案可能与该库无关。

我订阅了一个limit参数。目前,当我拨打subs.subscribe 'subname', newLimit时,会添加另一个订阅。

image

旧的订阅仍在那里。我不希望Meteor花时间维护旧的,下限订阅。我想要更新旧订阅的参数,而不是添加新订阅。做这个的最好方式是什么?

请注意,在订阅'subname', 20之前,我也不想完全删除'subname', 40,因为我不希望Meteor做重新发送第一个的额外工作20个文档 - 我希望它只发送文档21 - 40。

1 个答案:

答案 0 :(得分:2)

您可以查看订阅的stop()方法。根据{{​​3}}:

  

stop() [取消]订阅。这通常会导致服务器指示客户端从客户端的缓存中删除订阅的数据。

所以我看到它的方式,你可以设法做到:

// globals or whatever
var previousSub, newSub;

// somewhere else
newSub = Meteor.subscribe('subname', newLimit, function () {
  if (previousSub)
    previousSub.stop();
  previousSub = newSub;
});