'this' will be bound to the EventEmitter instance. This behaviour is
implemented around
here: https://github.com/joyent/node/blob/master/lib/events.js#L100.
So, the following code works as expected (prints "called!").
var SomeClass = function () {
};
util.inherits(SomeClass, EventEmitter);
var instance = new SomeClass();
instance.on('message', doSomething);
instance.on('message2', console.log);
instance.emit('message');
function doSomething () {
// this === instance
this.emit('message2', 'called!');
}
On Wednesday, August 21, 2013 7:30:58 AM UTC+2, Mike Chen wrote:
>
> Hi,
>
> I am doing a bit of code organization, and I would like to turn the
> following:
>
> client.on('message', function(data) {
> // do something
> client.emit();
> };
>
> into:
>
> client.on('message', doSomething);
>
> function doSomething(args) {
> // do something
> <this>.emit();
> }
>
> but I am not sure how to pass the client in here, I thought the "this"
> keyword would refer to it, but apparently not?
>
> Thanks,
> -Mike
>
--
--
Job Board: http://jobs.nodejs.org/
Posting guidelines:
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en
---
You received this message because you are subscribed to the Google Groups
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.