1

我正在使用 subs-manager,但对此的答案可能与该库无关。

我有一个带有单个limit参数的订阅。目前,当我打电话时subs.subscribe 'subname', newLimit,会添加另一个订阅。

图片

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

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

4

1 回答 1

2

你可以看看你的订阅stop()方法。根据文档

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

所以在我看来,你也许可以做到:

// globals or whatever
var previousSub, newSub;

// somewhere else
newSub = Meteor.subscribe('subname', newLimit, function () {
  if (previousSub)
    previousSub.stop();
  previousSub = newSub;
});
于 2015-06-11T12:21:23.893 回答