【发布时间】:2013-11-09 11:23:32
【问题描述】:
在 javascript pusher 客户端中,是否可以取消绑定来自特定通道或事件的所有回调?
【问题讨论】:
标签: pusher
在 javascript pusher 客户端中,是否可以取消绑定来自特定通道或事件的所有回调?
【问题讨论】:
标签: pusher
Channel 继承自 EventDispatcher,目前不提供 unbind all。您可以通过重新初始化管理channel 上的事件的callbacks 成员变量来破解它:
var pusher = new Pusher( '22364f2f790269bec0a0' );
var channel = pusher.subscribe( 'test-channel' );
var callback = function() {};
for( var i = 0, l = 10; i < l; ++i ) {
channel.bind( 'event-' + i, callback );
}
console.log( channel.callbacks._callbacks );
channel.callbacks = new channel.callbacks.constructor();
您可以在here 中看到这一点。 但这将是一个黑客攻击。
最好的办法是提交一个拉取请求,将unbind_all 函数添加到EventDispatcher 对象。
【讨论】: