I'm using Socket.io v0.9.16 and Chrome 34
I'm trying to remove a specific listener, or unsubscribe from a specific subscription
Something like this:
socket.on('testComplete',function(data){ console.log('test complete',data); }); function emitTest(){ console.log('emitting test'); socket.emit('test','first emit'); } function removeListener(){ socket.removeListener('testComplete'); } If I call the emitTest function, and then the removeListener function, I still see the 'test complete' message when I call emitTest again. The listener should have been removed, if the socket function even works.
I'm looking for a way to remove a specific listener that actually works.
This answer says that removeListener doesn't work.
Is there any downside to just doing this:
socket.removeListener=function(name){ if(socket.$events.hasOwnProperty(name)){ delete socket.$events[name]; } }; I marked an answer as correct, but I'm using the above in my code since it works better with my design.