通过Push-Diffusion检测主题的删除

时间:2016-05-25 16:01:11

标签: push-diffusion

我订阅了一个主题树,并使用它来更新HTML表格中的值。有时会添加新的子主题并删除旧的子主题。我需要保持我的UI同步,当值到达未知主题时检测到新主题,但我无法发现订阅主题何时被删除。

如何检测主题何时被删除?

1 个答案:

答案 0 :(得分:2)

如果您使用?myTopicTreeRoot// session.subscribe("?myTopicTreeRoot//").on({ open: function(subscription) { console.log('Opened subscription for: ' + subscription.selector); }, update : function(update, topic) { console.log('Update for ' + topic + ' : ' + update); }, subscribe : function(details, topic) { //This will notify you of every new subscription to a topic in your subtree console.log('Subscribed to : ' + topic); }, unsubscribe : function(reason, topic) { //This will notify you of every unsubscription from a topic in your subtree console.log('Unsubscribed from : ' + topic); } }); 订阅主题树,那么当您发出此订阅电话时,您还可以说明取消订阅时会发生什么情况,以及作为订阅,例如:

subscribe

属性函数unsubscribemyTopicTreeRoot会针对主题myTopicTreeRoot/foo/bar/baz以及任何后代(如unsubscribe

重要:删除主题后,任何订阅都会结束,然后调用update

请注意,最好使用topic selector属性函数。如果订阅无状态主题,使用对{{1}}的第一次调用暗示存在新主题是不明智的。