1

在 javascript pusher 客户端中,是否可以取消绑定来自特定通道或事件的所有回调?

4

1 回答 1

0

Channel 继承自EventDispatcher,目前不提供 unbind all。您可以通过重新初始化callbacks管理事件的成员变量来破解它channel

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();

您可以在这里看到这一点。但这将是一个hack

最好的办法是提交拉取请求以unbind_all向对象添加功能EventDispatcher

于 2013-11-14T16:30:56.043 回答