在Meteor中检测何时取消订阅

在Meteor中检测何时取消订阅,meteor,Meteor,如何检测何时取消订阅 有很多方法可以取消它,我想分析取消/订阅行为。设置收藏订阅的句柄,例如 var subHandle = Meteor.subscribe('subscription-name') 订阅句柄有一个名为ready()的方法,该方法是一个被动数据源。如果订阅已取消,它将返回false。因为它是一个反应式数据源,所以可以在反应式计算中放置一个if语句,以检测何时取消订阅 例如: Deps.autorun(function() { if (subHandle &&

如何检测何时取消订阅


有很多方法可以取消它,我想分析取消/订阅行为。

设置收藏订阅的句柄,例如

var subHandle = Meteor.subscribe('subscription-name')
订阅句柄有一个名为ready()的方法,该方法是一个被动数据源。如果订阅已取消,它将返回false。因为它是一个反应式数据源,所以可以在反应式计算中放置一个if语句,以检测何时取消订阅

例如:

Deps.autorun(function() {
  if (subHandle && (! subHandle.ready())) {
    // subscription has been cancelled
  }
});

但是,请确保在定义子句柄后运行此函数。在调用subHandle.ready()之前,此计算不会向反应依赖项注册

设置收藏订阅的句柄,例如

var subHandle = Meteor.subscribe('subscription-name')
订阅句柄有一个名为ready()的方法,该方法是一个被动数据源。如果订阅已取消,它将返回false。因为它是一个反应式数据源,所以可以在反应式计算中放置一个if语句,以检测何时取消订阅

例如:

Deps.autorun(function() {
  if (subHandle && (! subHandle.ready())) {
    // subscription has been cancelled
  }
});

但是,请确保在定义子句柄后运行此函数。在调用subHandle.ready()之前,此计算不会向反应依赖项注册

你的意思是当调用
.stop
时,找到通知客户的方法吗?@Akshat,我是说任何方法。例如停止、服务器取消、计算无效……你是说当调用
.stop
时,找到通知客户机的方法吗?@Akshat,我是说任何方法。例如,停止、服务器取消、计算无效……在准备就绪之前和取消之后都为false。我只需要后者。您可以将某个内容(会话哈希)设置为true,当其处于活动状态时,然后使用此设置查看其何时不再处于活动状态,这样它就只能使用latterI编辑我的答案,这样它就只能在订阅被取消时执行某些操作。@TravelingProg,已取消或只是还没有准备好。我错了吗?它在准备好之前和取消之后都是假的。我只需要后者。您可以将某个内容(会话哈希)设置为true,当其处于活动状态时,然后使用此设置查看其何时不再处于活动状态,这样它就只能使用latterI编辑我的答案,这样它就只能在订阅被取消时执行某些操作。@TravelingProg,已取消或只是还没有准备好。我错了吗?