我有这个 socket.io 的包装器:
on: function (eventName, callback) {
console.log('socket on hit');
socket.on(eventName, function () {
var args = arguments;
$rootScope.$apply(function () {
callback.apply(socket, args);
});
});
//removes duplicate listener
// console.log('about to remove a listener') ;
socket.removeListener(eventName, callback);
}
随着时间的推移,这让我有重复的听众。
这仍然是一个问题。 当我使用 removeListener 时,它不会删除事件,但使用 removeAllListeners 有效。
+1 只有 removeAllListeners 工作正常
两年多后,我们仍然面临同样的问题。 我认为删除单个侦听器应该是基本的。
对此有任何解决方案吗?
最有用的评论
两年多后,我们仍然面临同样的问题。 我认为删除单个侦听器应该是基本的。