如何在客户端套接字上删除特定侦听器。我需要删除监听器,因为这个控制器可以多次初始化。并且我不想在每次初始化控制器时向套接字添加新的监听器。
function EventMessagesController($scope,socket, $rootScope) {
socket.on('message', function (message) {
//Handle messsage
})
$scope.$on("$destroy",
function handleDestroyEvent() {
socket.manager().removeListner('message');
}
);
}
任何帮助将不胜感激。套接字IO文档并不是最清晰的,我无法在源代码中找到答案。
答案 0 :(得分:0)
socket.io套接字是eventEmitter
,因此您可以看到删除事件侦听器的各种方法here in the doc for eventEmitter。
您可以选择使用:
socket.removeListener(event, listener)
socket.removeAllListeners([event])
注意:您问题中的代码removeListner
拼写错误。