From 23818c6d0ba5503263f97bcd888b1c227b3177af Mon Sep 17 00:00:00 2001 From: Lance Ball Date: Mon, 25 Apr 2016 09:35:30 -0400 Subject: [PATCH] doc: correctly document the behavior of ee.once(). MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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: https://github.com/nodejs/node/issues/5566 PR-URL: https://github.com/nodejs/node/pull/6371 Reviewed-By: Colin Ihrig Reviewed-By: Robert Lindstaedt Reviewed-By: Anna Henningsen Reviewed-By: James M Snell Reviewed-By: Сковорода Никита Андреевич --- doc/api/events.md | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/doc/api/events.md b/doc/api/events.md index 501a94b79d7dc7..6e74760d8f35df 100644 --- a/doc/api/events.md +++ b/doc/api/events.md @@ -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(); @@ -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) => { @@ -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) => {