繁体   English   中英

使用Deezer Javascript SDK DZ.Event.unsubscribe取消特定订阅

[英]Unsubscribe specific subscription with Deezer Javascript SDK DZ.Event.unsubscribe

在Deezer Javascript SDK中, DZ.Event.unsubscribe方法可用于取消订阅特定事件的所有订阅 ,但是有什么方法可以取消订阅特定订阅而不是全部订阅?

DZ.Event.subscribe方法不会返回取消订阅调用中可能提供的任何ID,并且将订阅回调函数发送到取消订阅方法也不起作用:

function callback(args) {
  console.log('GOT player_position 1', args);
}
DZ.Event.subscribe('player_position', callback);
DZ.Event.subscribe('player_position', args => {
  console.log('GOT player_position 2', args);
});
DZ.Event.unsubscribe('player_position', callback); // Unsubscribes both subscriptions

当前只有访问DZ.Event.callbacks 讨厌方法

例如,您可以:

//declare your own unsubscribe function
var unsubscribe = (event, callback) => {
    if(DZ.Event.callbacks[event]) {
        let index = DZ.Event.callbacks[event].indexOf(callback); //find the index of your callback
        if(index !== -1) {
            DZ.Event.callbacks[event].splice(index, 1); //remove it
        }
    }
} 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM