如何检测订阅何时被取消?
有很多方法可以取消它,我想分析取消/订阅行为。
为您的收藏订阅设置句柄,例如
var subHandle = Meteor.subscribe('subscription-name')
订阅句柄有一个名为ready()的方法,它是一个反应式数据源。如果订阅已被取消,它将返回false。因为它是一个响应式数据源,您可以在响应式计算中放置一条if语句来检测订阅何时被取消。
例子:
Deps.autorun(function() {
if (subHandle && (! subHandle.ready())) {
// subscription has been cancelled
}
});
但是,请确保在定义 subHandle之后运行此函数。在调用 subHandle.ready() 之前,该计算不会向反应性依赖项注册。