doc: clarify this in event listeners

this === eventEmitter or this === instance of EventEmitter,
but it's this is not EventEmitter.

PR-URL: https://github.com/nodejs/node/pull/20537
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Vse Mozhet Byt <vsemozhetbyt@gmail.com>
This commit is contained in:
daGo 2018-05-05 10:53:43 +03:00 committed by Vse Mozhet Byt
parent 15f743165c
commit 2d945fd645

View File

@ -43,21 +43,21 @@ myEmitter.emit('event');
## Passing arguments and `this` to listeners
The `eventEmitter.emit()` method allows an arbitrary set of arguments to be
passed to the listener functions. It is important to keep in mind that when an
ordinary listener function is called by the `EventEmitter`, the standard `this`
keyword is intentionally set to reference the `EventEmitter` to which the
passed to the listener functions. It is important to keep in mind that when
an ordinary listener function is called, the standard `this` keyword
is intentionally set to reference the `EventEmitter` instance to which the
listener is attached.
```js
const myEmitter = new MyEmitter();
myEmitter.on('event', function(a, b) {
console.log(a, b, this);
console.log(a, b, this, this === myEmitter);
// Prints:
// a b MyEmitter {
// domain: null,
// _events: { event: [Function] },
// _eventsCount: 1,
// _maxListeners: undefined }
// _maxListeners: undefined } true
});
myEmitter.emit('event', 'a', 'b');
```