Hurricane Development
Hurricane Development

Reputation: 2464

Socket.io remove listener after being executed

I want to create a listener on a socket. Then once the listener has been executed, I want the listener to stop listening. I used this SO:

socket.io Removing specific listener

But I cannot figure out how to have a listener destroy itself. This is what I am thinking:

var ListenEventFunc = function() {
    /* Do some important stuff */
    socket.removeListener('ListenEvent',ListenEventFunc);
}

socket.on('ListenEvent',ListenEventFunc);

What is the correct/best way to do this? Is there anyway I can use the this keyword to specify the function.

Upvotes: 0

Views: 779

Answers (1)

robertklep
robertklep

Reputation: 203529

You can use this:

socket.once('ListenEvent', ListenEventFunc);

This works because Socket inherits from EventEmitter. This doesn't seem to be documented, but the code references it.

Upvotes: 4

Related Questions