Sets a modifier for a subsequent event emission that the event data will only be broadcast to every sockets but the sender.
self
A reference to the underlying Client transport connection (Engine.IO Socket object).
Whether the socket is currently disconnected
Sets a modifier for a subsequent event emission that the event data will only be broadcast to the current node.
self
A reference to the request that originated the underlying Engine.IO Socket.
Sets a modifier for a subsequent event emission that the event data may be lost if the client is not ready to receive messages (because of network slowness or other issues, or because they’re connected through long polling and is in the middle of a request-response cycle).
self
Produces an error
packet.
error object
Called upon closing. Called by Client
.
Called by Namespace
upon successful
middleware execution (ie: authorization).
Socket is added to namespace array before
call to join, so adapters can access it.
Handles a client error.
Called with each packet. Called by Client
.
Alias for emitter.on(eventName, listener)
.
Sets the compress flag.
if true
, compresses the sending data
self
Disconnects this client.
if true
, closes the underlying connection
self
Emits to this client.
Always returns true
.
Emits a reserved event.
This method is protected
, so that only a class extending
StrictEventEmitter
can emit its own reserved events.
Reserved event name
Arguments to emit along with the event
Emits an event.
This method is protected
, so that only a class extending
StrictEventEmitter
can get around the strict typing. This is useful for
calling emit.apply
, which can be called as emitUntyped.apply
.
Event name
Arguments to emit along with the event
Returns an array listing the events for which the emitter has registered
listeners. The values in the array are strings or Symbol
s.
const EventEmitter = require('events');
const myEE = new EventEmitter();
myEE.on('foo', () => {});
myEE.on('bar', () => {});
const sym = Symbol('symbol');
myEE.on(sym, () => {});
console.log(myEE.eventNames());
// Prints: [ 'foo', 'bar', Symbol(symbol) ]
Excludes a room when broadcasting.
self
Returns the current max listener value for the EventEmitter
which is either
set by emitter.setMaxListeners(n)
or defaults to {@link defaultMaxListeners}.
Targets a room when broadcasting.
self
Joins a room.
room or array of rooms
a Promise or nothing, depending on the adapter
Leaves a room.
a Promise or nothing, depending on the adapter
Returns the number of listeners listening to the event named eventName
.
The name of the event being listened for
Returns the listeners listening to an event.
Event name
Array of listeners subscribed to event
Returns an array of listeners that are listening for any event that is specified. This array can be manipulated, e.g. to remove listeners.
Alias for emitter.removeListener()
.
Removes the listener that will be fired when any event is emitted.
Adds the listener
function as an event listener for ev
.
Name of the event
Callback function
Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the callback.
Adds a one-time listener
function as an event listener for ev
.
Name of the event
Callback function
Adds a listener that will be fired when any event is emitted. The event name is passed as the first argument to the callback. The listener is added to the beginning of the listeners array.
Adds the listener
function to the beginning of the listeners array for the
event named eventName
. No checks are made to see if the listener
has
already been added. Multiple calls passing the same combination of eventName
and listener
will result in the listener
being added, and called, multiple
times.
server.prependListener('connection', (stream) => {
console.log('someone connected!');
});
Returns a reference to the EventEmitter
, so that calls can be chained.
The name of the event.
The callback function
Adds a one-timelistener
function for the event named eventName
to the_beginning_ of the listeners array. The next time eventName
is triggered, this
listener is removed, and then invoked.
server.prependOnceListener('connection', (stream) => {
console.log('Ah, we have our first user!');
});
Returns a reference to the EventEmitter
, so that calls can be chained.
The name of the event.
The callback function
Returns a copy of the array of listeners for the event named eventName
,
including any wrappers (such as those created by .once()
).
const emitter = new EventEmitter();
emitter.once('log', () => console.log('log once'));
// Returns a new Array with a function `onceWrapper` which has a property
// `listener` which contains the original listener bound above
const listeners = emitter.rawListeners('log');
const logFnWrapper = listeners[0];
// Logs "log once" to the console and does not unbind the `once` event
logFnWrapper.listener();
// Logs "log once" to the console and removes the listener
logFnWrapper();
emitter.on('log', () => console.log('log persistently'));
// Will return a new Array with a single function bound by `.on()` above
const newListeners = emitter.rawListeners('log');
// Logs "log persistently" twice
newListeners[0]();
emitter.emit('log');
Removes all listeners, or those of the specified eventName
.
It is bad practice to remove listeners added elsewhere in the code,
particularly when the EventEmitter
instance was created by some other
component or module (e.g. sockets or file streams).
Returns a reference to the EventEmitter
, so that calls can be chained.
Removes the specified listener
from the listener array for the event namedeventName
.
const callback = (stream) => {
console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);
removeListener()
will remove, at most, one instance of a listener from the
listener array. If any single listener has been added multiple times to the
listener array for the specified eventName
, then removeListener()
must be
called multiple times to remove each instance.
Once an event is emitted, all listeners attached to it at the
time of emitting are called in order. This implies that anyremoveListener()
or removeAllListeners()
calls after emitting and_before_ the last listener finishes execution will
not remove them fromemit()
in progress. Subsequent events behave as expected.
const myEmitter = new MyEmitter();
const callbackA = () => {
console.log('A');
myEmitter.removeListener('event', callbackB);
};
const callbackB = () => {
console.log('B');
};
myEmitter.on('event', callbackA);
myEmitter.on('event', callbackB);
// callbackA removes listener callbackB but it will still be called.
// Internal listener array at time of emit [callbackA, callbackB]
myEmitter.emit('event');
// Prints:
// A
// B
// callbackB is now removed.
// Internal listener array [callbackA]
myEmitter.emit('event');
// Prints:
// A
Because listeners are managed using an internal array, calling this will
change the position indices of any listener registered after the listener
being removed. This will not impact the order in which listeners are called,
but it means that any copies of the listener array as returned by
the emitter.listeners()
method will need to be recreated.
When a single function has been added as a handler multiple times for a single
event (as in the example below), removeListener()
will remove the most
recently added instance. In the example the once('ping')
listener is removed:
const ee = new EventEmitter();
function pong() {
console.log('pong');
}
ee.on('ping', pong);
ee.once('ping', pong);
ee.removeListener('ping', pong);
ee.emit('ping');
ee.emit('ping');
Returns a reference to the EventEmitter
, so that calls can be chained.
Sends a message
event.
self
By default EventEmitter
s will print a warning if more than 10
listeners are
added for a particular event. This is a useful default that helps finding
memory leaks. The emitter.setMaxListeners()
method allows the limit to be
modified for this specific EventEmitter
instance. The value can be set toInfinity
(or 0
) to indicate an unlimited number of listeners.
Returns a reference to the EventEmitter
, so that calls can be chained.
Sets a modifier for a subsequent event emission that the callback will be called with an error when the given number of milliseconds have elapsed without an acknowledgement from the client:
socket.timeout(5000).emit("my-event", (err) => {
if (err) {
// the client did not acknowledge the event in the given delay
}
});
self
Targets a room when broadcasting.
self
Sets up socket middleware.
middleware function (event, next)
self
Sends a message
event.
self
Generated using TypeDoc
Additional information that can be attached to the Socket instance and which will be used in the fetchSockets method