Events 杜兰达尔酒店

Events 杜兰达尔酒店,events,publish-subscribe,durandal,Events,Publish Subscribe,Durandal,我想问一下,是否有办法使用durandal pubsub机制取消特定订阅者的订阅 比如,;假设我有以下订阅: app.on('some topic') .then(function(){ ... }); 但当我这样做的时候: app.off('some topic') 它最终会删除特定主题的所有订阅服务器 相反,我想做以下几件事: var mySubscriber = function( msg, data ){ console.log( msg, data ); }

我想问一下,是否有办法使用durandal pubsub机制取消特定订阅者的订阅

比如,;假设我有以下订阅:

app.on('some topic')
    .then(function(){ ... });
但当我这样做的时候:

app.off('some topic')
它最终会删除特定主题的所有订阅服务器

相反,我想做以下几件事:

 var mySubscriber = function( msg, data ){
      console.log( msg, data );
 };
 var token = PubSub.subscribe( 'MY MESSAGE', mySubscriber );
 PubSub.unsubscribe( token );
(以上代码片段取自PubSubjects库示例)


查看源代码,我找到了解决方案。您只需要将回调存储在函数引用中,并在想要取消订阅时传递该引用查看我找到的解决方案的源代码。您只需要将回调存储在函数引用中,并在想要取消订阅时传递该引用
var subscribeTopic = app.on('some topic')
    .then(function(){ ... });

subscribeTopic.off();