Skip to content

Commit

Permalink
doc: correctly document the behavior of ee.once().
Browse files Browse the repository at this point in the history
Addresses #5566. The `ee.once()` function is currently documented as
invoking the listener, and then removing it when the event is
triggered. However, this is not really the case. The listener is removed
and _then_ invoked. This only matters in a narrow set of use cases, but
when it matters, it matters that the docs are correct.

See the issue (#5566) for a discussion on why the code has not been
modified to match the documentation, but instead the documentation has
been modified to match the code.

Fixes: #5566
PR-URL: #6371
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Robert Lindstaedt <robert.lindstaedt@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Сковорода Никита Андреевич <chalkerx@gmail.com>
  • Loading branch information
lance authored and Fishrock123 committed May 4, 2016
1 parent 19fb134 commit 36207c6
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions doc/api/events.md
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ myEmitter.emit('event');
```

Using the `eventEmitter.once()` method, it is possible to register a listener
that is immediately unregistered after it is called.
that is unregistered before it is called.

```js
const myEmitter = new MyEmitter();
Expand Down Expand Up @@ -376,9 +376,8 @@ myEE.emit('foo');
* `eventName` {string|Symbol} The name of the event.
* `listener` {Function} The callback function

Adds a **one time** `listener` function for the event named `eventName`. This
listener is invoked only the next time `eventName` is triggered, after which
it is removed.
Adds a **one time** `listener` function for the event named `eventName`. The
next time `eventName` is triggered, this listener is removed and then invoked.

```js
server.once('connection', (stream) => {
Expand Down Expand Up @@ -427,8 +426,8 @@ Returns a reference to the `EventEmitter` so calls can be chained.
* `listener` {Function} The callback function

Adds a **one time** `listener` function for the event named `eventName` to the
*beginning* of the listeners array. This listener is invoked only the next time
`eventName` is triggered, after which it is removed.
*beginning* of the listeners array. The next time `eventName` is triggered, this
listener is removed, and then invoked.

```js
server.prependOnceListener('connection', (stream) => {
Expand Down

0 comments on commit 36207c6

Please sign in to comment.