Compartir a través de


DeviceTransport interface

Extends

EventEmitter

Métodos

abandon(Message, (err?: Error, results?: MessageAbandoned) => void)
complete(Message, (err?: Error, result?: MessageCompleted) => void)
connect((err?: Error, result?: Connected) => void)
disableC2D((err?: Error) => void)
disableInputMessages((err?: Error) => void)
disableMethods((err?: Error) => void)
disableTwinDesiredPropertiesUpdates((err?: Error) => void)
disconnect((err?: Error, result?: Disconnected) => void)
enableC2D((err?: Error) => void)
enableInputMessages((err?: Error) => void)
enableMethods((err?: Error) => void)
enableTwinDesiredPropertiesUpdates((err?: Error) => void)
getTwin((err?: Error, twin?: TwinProperties) => void)
on("connected", () => void)
on("disconnect", (err?: Error) => void)
on("error", (err: Error) => void)
on("inputMessage", (inputName: string, msg: Message) => void)
on("message", (msg: Message) => void)
on("twinDesiredPropertiesUpdate", (desiredProps: any) => void)
onDeviceMethod(string, (request: MethodMessage, response: DeviceMethodResponse) => void)
reject(Message, (err?: Error, results?: MessageRejected) => void)
sendEvent(Message, (err?: Error, result?: MessageEnqueued) => void)
sendEventBatch(Message[], (err?: Error, result?: MessageEnqueued) => void)
sendMethodResponse(DeviceMethodResponse, (err?: Error, result?: any) => void)
sendOutputEvent(string, Message, (err?: Error, result?: MessageEnqueued) => void)
sendOutputEventBatch(string, Message[], (err?: Error, result?: MessageEnqueued) => void)
setOptions(DeviceClientOptions, (err?: Error, result?: TransportConfigured) => void)
updateSharedAccessSignature(string, (err?: Error, result?: SharedAccessSignatureUpdated) => void)
updateTwinReportedProperties(any, (err?: Error) => void)

Métodos heredados

addListener<K>(string | symbol, (args: any[]) => void)

Alias para emitter.on(eventName, listener).

emit<K>(string | symbol, AnyRest)

Llama sincrónicamente a cada uno de los agentes de escucha registrados para el evento denominado eventName, en el orden en que se registraron, pasando los argumentos proporcionados a cada uno.

Devuelve true si el evento tenía agentes de escucha; en caso contrario, false .

import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();

// First listener
myEmitter.on('event', function firstListener() {
  console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
  console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
  const parameters = args.join(', ');
  console.log(`event with parameters ${parameters} in third listener`);
});

console.log(myEmitter.listeners('event'));

myEmitter.emit('event', 1, 2, 3, 4, 5);

// Prints:
// [
//   [Function: firstListener],
//   [Function: secondListener],
//   [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
eventNames()

Devuelve una matriz que muestra los eventos para los que el emisor tiene agentes de escucha registrados. Los valores de la matriz son cadenas o Symbols.

import { EventEmitter } from 'node: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) ]
getMaxListeners()

Devuelve el valor del agente de escucha máximo actual para el EventEmitter objeto que se establece de emitter.setMaxListeners(n) forma predeterminada defaultMaxListenersen .

listenerCount<K>(string | symbol, Function)

Devuelve el número de agentes de escucha que escuchan el evento denominado eventName. Si listener se proporciona, devolverá cuántas veces se encuentra el agente de escucha en la lista de agentes de escucha del evento.

listeners<K>(string | symbol)

Devuelve una copia de la matriz de agentes de escucha para el evento denominado eventName.

server.on('connection', (stream) => {
  console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
off<K>(string | symbol, (args: any[]) => void)

Alias para emitter.removeListener().

once<K>(string | symbol, (args: any[]) => void)

Agrega una función únicalistener para el evento denominado eventName. La próxima vez eventName que se desencadena, este agente de escucha se quita y, a continuación, se invoca.

server.once('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

De forma predeterminada, los agentes de escucha de eventos se invocan en el orden en que se agregan. El emitter.prependOnceListener() método se puede usar como alternativa para agregar el agente de escucha de eventos al principio de la matriz de agentes de escucha.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
//   b
//   a
prependListener<K>(string | symbol, (args: any[]) => void)

Agrega la listener función al principio de la matriz de agentes de escucha para el evento denominado eventName. No se realizan comprobaciones para ver si listener ya se ha agregado . Varias llamadas que pasan la misma combinación de eventName y listener darán lugar a que listener se agregue y se llame varias veces.

server.prependListener('connection', (stream) => {
  console.log('someone connected!');
});

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

prependOnceListener<K>(string | symbol, (args: any[]) => void)

Agrega una función únicalistener para el evento denominado eventName al principio de la matriz de agentes de escucha. La próxima vez eventName que se desencadena, se quita este agente de escucha y, a continuación, se invoca.

server.prependOnceListener('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

rawListeners<K>(string | symbol)

Devuelve una copia de la matriz de agentes de escucha para el evento denominado eventName, incluidos los contenedores (como los creados por .once()).

import { EventEmitter } from 'node:events';
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');
removeAllListeners(string | symbol)

Quita todos los agentes de escucha o los del especificado eventName.

Es una mala práctica quitar agentes de escucha agregados en otro lugar del código, especialmente cuando la EventEmitter instancia se creó por algún otro componente o módulo (por ejemplo, sockets o secuencias de archivos).

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

removeListener<K>(string | symbol, (args: any[]) => void)

Quita el especificado listener de la matriz del agente de escucha para el evento denominado eventName.

const callback = (stream) => {
  console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);

removeListener() quitará, como máximo, una instancia de un agente de escucha de la matriz del agente de escucha. Si se ha agregado un único agente de escucha varias veces a la matriz del agente de escucha para el especificado eventName, removeListener() se debe llamar varias veces para quitar cada instancia.

Una vez emitido un evento, se llama a todos los agentes de escucha adjuntos en el momento de emitir. Esto implica que cualquier removeListener() llamada o removeAllListeners()después de emitir y antes de que el último agente de escucha finalice la ejecución no los quitará deemit() en curso. Los eventos posteriores se comportan según lo previsto.

import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
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

Dado que los agentes de escucha se administran mediante una matriz interna, al llamar a esto se cambiarán los índices de posición de cualquier agente de escucha registrado después de quitar el agente de escucha. Esto no afectará al orden en que se llama a los agentes de escucha, pero significa que las copias de la matriz del agente de escucha tal y como devuelve el emitter.listeners() método deberán volver a crearse.

Cuando se ha agregado una sola función como controlador varias veces para un único evento (como en el ejemplo siguiente), removeListener() se quitará la instancia agregada más recientemente. En el ejemplo, se quita el once('ping') agente de escucha:

import { EventEmitter } from 'node:events';
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');

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

setMaxListeners(number)

De forma predeterminada EventEmitter, s imprimirá una advertencia si se agregan más 10 de agentes de escucha para un evento determinado. Este es un valor predeterminado útil que ayuda a encontrar fugas de memoria. El emitter.setMaxListeners() método permite modificar el límite para esta instancia específica EventEmitter . El valor se puede establecer en Infinity (o 0) para indicar un número ilimitado de agentes de escucha.

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)

Detalles del método

abandon(Message, (err?: Error, results?: MessageAbandoned) => void)

function abandon(message: Message, done: (err?: Error, results?: MessageAbandoned) => void)

Parámetros

message
Message
done

(err?: Error, results?: MessageAbandoned) => void

complete(Message, (err?: Error, result?: MessageCompleted) => void)

function complete(message: Message, done: (err?: Error, result?: MessageCompleted) => void)

Parámetros

message
Message
done

(err?: Error, result?: MessageCompleted) => void

connect((err?: Error, result?: Connected) => void)

function connect(done: (err?: Error, result?: Connected) => void)

Parámetros

done

(err?: Error, result?: Connected) => void

disableC2D((err?: Error) => void)

function disableC2D(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

disableInputMessages((err?: Error) => void)

function disableInputMessages(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

disableMethods((err?: Error) => void)

function disableMethods(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

disableTwinDesiredPropertiesUpdates((err?: Error) => void)

function disableTwinDesiredPropertiesUpdates(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

disconnect((err?: Error, result?: Disconnected) => void)

function disconnect(done: (err?: Error, result?: Disconnected) => void)

Parámetros

done

(err?: Error, result?: Disconnected) => void

enableC2D((err?: Error) => void)

function enableC2D(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

enableInputMessages((err?: Error) => void)

function enableInputMessages(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

enableMethods((err?: Error) => void)

function enableMethods(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

enableTwinDesiredPropertiesUpdates((err?: Error) => void)

function enableTwinDesiredPropertiesUpdates(callback: (err?: Error) => void)

Parámetros

callback

(err?: Error) => void

getTwin((err?: Error, twin?: TwinProperties) => void)

function getTwin(callback: (err?: Error, twin?: TwinProperties) => void)

Parámetros

callback

(err?: Error, twin?: TwinProperties) => void

on("connected", () => void)

function on(type: "connected", func: () => void): DeviceTransport

Parámetros

type

"connected"

func

() => void

Devoluciones

on("disconnect", (err?: Error) => void)

function on(type: "disconnect", func: (err?: Error) => void): DeviceTransport

Parámetros

type

"disconnect"

func

(err?: Error) => void

Devoluciones

on("error", (err: Error) => void)

function on(type: "error", func: (err: Error) => void): DeviceTransport

Parámetros

type

"error"

func

(err: Error) => void

Devoluciones

on("inputMessage", (inputName: string, msg: Message) => void)

function on(type: "inputMessage", func: (inputName: string, msg: Message) => void): DeviceTransport

Parámetros

type

"inputMessage"

func

(inputName: string, msg: Message) => void

Devoluciones

on("message", (msg: Message) => void)

function on(type: "message", func: (msg: Message) => void): DeviceTransport

Parámetros

type

"message"

func

(msg: Message) => void

Devoluciones

on("twinDesiredPropertiesUpdate", (desiredProps: any) => void)

function on(type: "twinDesiredPropertiesUpdate", func: (desiredProps: any) => void): DeviceTransport

Parámetros

type

"twinDesiredPropertiesUpdate"

func

(desiredProps: any) => void

Devoluciones

onDeviceMethod(string, (request: MethodMessage, response: DeviceMethodResponse) => void)

function onDeviceMethod(methodName: string, methodCallback: (request: MethodMessage, response: DeviceMethodResponse) => void)

Parámetros

methodName

string

methodCallback

(request: MethodMessage, response: DeviceMethodResponse) => void

reject(Message, (err?: Error, results?: MessageRejected) => void)

function reject(message: Message, done: (err?: Error, results?: MessageRejected) => void)

Parámetros

message
Message
done

(err?: Error, results?: MessageRejected) => void

sendEvent(Message, (err?: Error, result?: MessageEnqueued) => void)

function sendEvent(message: Message, done: (err?: Error, result?: MessageEnqueued) => void)

Parámetros

message
Message
done

(err?: Error, result?: MessageEnqueued) => void

sendEventBatch(Message[], (err?: Error, result?: MessageEnqueued) => void)

function sendEventBatch(messages: Message[], done: (err?: Error, result?: MessageEnqueued) => void)

Parámetros

messages

Message[]

done

(err?: Error, result?: MessageEnqueued) => void

sendMethodResponse(DeviceMethodResponse, (err?: Error, result?: any) => void)

function sendMethodResponse(response: DeviceMethodResponse, done?: (err?: Error, result?: any) => void)

Parámetros

done

(err?: Error, result?: any) => void

sendOutputEvent(string, Message, (err?: Error, result?: MessageEnqueued) => void)

function sendOutputEvent(outputName: string, message: Message, done: (err?: Error, result?: MessageEnqueued) => void)

Parámetros

outputName

string

message
Message
done

(err?: Error, result?: MessageEnqueued) => void

sendOutputEventBatch(string, Message[], (err?: Error, result?: MessageEnqueued) => void)

function sendOutputEventBatch(outputName: string, messages: Message[], done: (err?: Error, result?: MessageEnqueued) => void)

Parámetros

outputName

string

messages

Message[]

done

(err?: Error, result?: MessageEnqueued) => void

setOptions(DeviceClientOptions, (err?: Error, result?: TransportConfigured) => void)

function setOptions(options: DeviceClientOptions, done: (err?: Error, result?: TransportConfigured) => void)

Parámetros

done

(err?: Error, result?: TransportConfigured) => void

updateSharedAccessSignature(string, (err?: Error, result?: SharedAccessSignatureUpdated) => void)

function updateSharedAccessSignature(sharedAccessSignature: string, done: (err?: Error, result?: SharedAccessSignatureUpdated) => void)

Parámetros

sharedAccessSignature

string

done

(err?: Error, result?: SharedAccessSignatureUpdated) => void

updateTwinReportedProperties(any, (err?: Error) => void)

function updateTwinReportedProperties(patch: any, callback: (err?: Error) => void)

Parámetros

patch

any

callback

(err?: Error) => void

Detalles de los métodos heredados

addListener<K>(string | symbol, (args: any[]) => void)

Alias para emitter.on(eventName, listener).

function addListener<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport

Parámetros

eventName

string | symbol

listener

(args: any[]) => void

Devoluciones

Heredado de EventEmitter.addListener

emit<K>(string | symbol, AnyRest)

Llama sincrónicamente a cada uno de los agentes de escucha registrados para el evento denominado eventName, en el orden en que se registraron, pasando los argumentos proporcionados a cada uno.

Devuelve true si el evento tenía agentes de escucha; en caso contrario, false .

import { EventEmitter } from 'node:events';
const myEmitter = new EventEmitter();

// First listener
myEmitter.on('event', function firstListener() {
  console.log('Helloooo! first listener');
});
// Second listener
myEmitter.on('event', function secondListener(arg1, arg2) {
  console.log(`event with parameters ${arg1}, ${arg2} in second listener`);
});
// Third listener
myEmitter.on('event', function thirdListener(...args) {
  const parameters = args.join(', ');
  console.log(`event with parameters ${parameters} in third listener`);
});

console.log(myEmitter.listeners('event'));

myEmitter.emit('event', 1, 2, 3, 4, 5);

// Prints:
// [
//   [Function: firstListener],
//   [Function: secondListener],
//   [Function: thirdListener]
// ]
// Helloooo! first listener
// event with parameters 1, 2 in second listener
// event with parameters 1, 2, 3, 4, 5 in third listener
function emit<K>(eventName: string | symbol, args: AnyRest): boolean

Parámetros

eventName

string | symbol

args

AnyRest

Devoluciones

boolean

Heredado de EventEmitter.emit

eventNames()

Devuelve una matriz que muestra los eventos para los que el emisor tiene agentes de escucha registrados. Los valores de la matriz son cadenas o Symbols.

import { EventEmitter } from 'node: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) ]
function eventNames(): (string | symbol)[]

Devoluciones

(string | symbol)[]

Heredado de EventEmitter.eventNames

getMaxListeners()

Devuelve el valor del agente de escucha máximo actual para el EventEmitter objeto que se establece de emitter.setMaxListeners(n) forma predeterminada defaultMaxListenersen .

function getMaxListeners(): number

Devoluciones

number

Heredado de EventEmitter.getMaxListeners

listenerCount<K>(string | symbol, Function)

Devuelve el número de agentes de escucha que escuchan el evento denominado eventName. Si listener se proporciona, devolverá cuántas veces se encuentra el agente de escucha en la lista de agentes de escucha del evento.

function listenerCount<K>(eventName: string | symbol, listener?: Function): number

Parámetros

eventName

string | symbol

Nombre del evento que se está escuchando

listener

Function

Función del controlador de eventos

Devoluciones

number

Heredado de EventEmitter.listenerCount

listeners<K>(string | symbol)

Devuelve una copia de la matriz de agentes de escucha para el evento denominado eventName.

server.on('connection', (stream) => {
  console.log('someone connected!');
});
console.log(util.inspect(server.listeners('connection')));
// Prints: [ [Function] ]
function listeners<K>(eventName: string | symbol): Function[]

Parámetros

eventName

string | symbol

Devoluciones

Function[]

Heredado de EventEmitter.listeners

off<K>(string | symbol, (args: any[]) => void)

Alias para emitter.removeListener().

function off<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport

Parámetros

eventName

string | symbol

listener

(args: any[]) => void

Devoluciones

Heredado de EventEmitter.off

once<K>(string | symbol, (args: any[]) => void)

Agrega una función únicalistener para el evento denominado eventName. La próxima vez eventName que se desencadena, este agente de escucha se quita y, a continuación, se invoca.

server.once('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

De forma predeterminada, los agentes de escucha de eventos se invocan en el orden en que se agregan. El emitter.prependOnceListener() método se puede usar como alternativa para agregar el agente de escucha de eventos al principio de la matriz de agentes de escucha.

import { EventEmitter } from 'node:events';
const myEE = new EventEmitter();
myEE.once('foo', () => console.log('a'));
myEE.prependOnceListener('foo', () => console.log('b'));
myEE.emit('foo');
// Prints:
//   b
//   a
function once<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport

Parámetros

eventName

string | symbol

Nombre del evento.

listener

(args: any[]) => void

Función de devolución de llamada

Devoluciones

Heredado de EventEmitter.once

prependListener<K>(string | symbol, (args: any[]) => void)

Agrega la listener función al principio de la matriz de agentes de escucha para el evento denominado eventName. No se realizan comprobaciones para ver si listener ya se ha agregado . Varias llamadas que pasan la misma combinación de eventName y listener darán lugar a que listener se agregue y se llame varias veces.

server.prependListener('connection', (stream) => {
  console.log('someone connected!');
});

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

function prependListener<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport

Parámetros

eventName

string | symbol

Nombre del evento.

listener

(args: any[]) => void

Función de devolución de llamada

Devoluciones

Heredado de EventEmitter.prependListener

prependOnceListener<K>(string | symbol, (args: any[]) => void)

Agrega una función únicalistener para el evento denominado eventName al principio de la matriz de agentes de escucha. La próxima vez eventName que se desencadena, se quita este agente de escucha y, a continuación, se invoca.

server.prependOnceListener('connection', (stream) => {
  console.log('Ah, we have our first user!');
});

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

function prependOnceListener<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport

Parámetros

eventName

string | symbol

Nombre del evento.

listener

(args: any[]) => void

Función de devolución de llamada

Devoluciones

Heredado de EventEmitter.prependOnceListener

rawListeners<K>(string | symbol)

Devuelve una copia de la matriz de agentes de escucha para el evento denominado eventName, incluidos los contenedores (como los creados por .once()).

import { EventEmitter } from 'node:events';
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');
function rawListeners<K>(eventName: string | symbol): Function[]

Parámetros

eventName

string | symbol

Devoluciones

Function[]

Heredado de EventEmitter.rawListeners

removeAllListeners(string | symbol)

Quita todos los agentes de escucha o los del especificado eventName.

Es una mala práctica quitar agentes de escucha agregados en otro lugar del código, especialmente cuando la EventEmitter instancia se creó por algún otro componente o módulo (por ejemplo, sockets o secuencias de archivos).

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

function removeAllListeners(eventName?: string | symbol): DeviceTransport

Parámetros

eventName

string | symbol

Devoluciones

Heredado de EventEmitter.removeAllListeners

removeListener<K>(string | symbol, (args: any[]) => void)

Quita el especificado listener de la matriz del agente de escucha para el evento denominado eventName.

const callback = (stream) => {
  console.log('someone connected!');
};
server.on('connection', callback);
// ...
server.removeListener('connection', callback);

removeListener() quitará, como máximo, una instancia de un agente de escucha de la matriz del agente de escucha. Si se ha agregado un único agente de escucha varias veces a la matriz del agente de escucha para el especificado eventName, removeListener() se debe llamar varias veces para quitar cada instancia.

Una vez emitido un evento, se llama a todos los agentes de escucha adjuntos en el momento de emitir. Esto implica que cualquier removeListener() llamada o removeAllListeners()después de emitir y antes de que el último agente de escucha finalice la ejecución no los quitará deemit() en curso. Los eventos posteriores se comportan según lo previsto.

import { EventEmitter } from 'node:events';
class MyEmitter extends EventEmitter {}
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

Dado que los agentes de escucha se administran mediante una matriz interna, al llamar a esto se cambiarán los índices de posición de cualquier agente de escucha registrado después de quitar el agente de escucha. Esto no afectará al orden en que se llama a los agentes de escucha, pero significa que las copias de la matriz del agente de escucha tal y como devuelve el emitter.listeners() método deberán volver a crearse.

Cuando se ha agregado una sola función como controlador varias veces para un único evento (como en el ejemplo siguiente), removeListener() se quitará la instancia agregada más recientemente. En el ejemplo, se quita el once('ping') agente de escucha:

import { EventEmitter } from 'node:events';
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');

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

function removeListener<K>(eventName: string | symbol, listener: (args: any[]) => void): DeviceTransport

Parámetros

eventName

string | symbol

listener

(args: any[]) => void

Devoluciones

Heredado de EventEmitter.removeListener

setMaxListeners(number)

De forma predeterminada EventEmitter, s imprimirá una advertencia si se agregan más 10 de agentes de escucha para un evento determinado. Este es un valor predeterminado útil que ayuda a encontrar fugas de memoria. El emitter.setMaxListeners() método permite modificar el límite para esta instancia específica EventEmitter . El valor se puede establecer en Infinity (o 0) para indicar un número ilimitado de agentes de escucha.

Devuelve una referencia a , EventEmitterpara que las llamadas se puedan encadenar.

function setMaxListeners(n: number): DeviceTransport

Parámetros

n

number

Devoluciones

Heredado de EventEmitter.setMaxListeners

[captureRejectionSymbol]<K>(Error, string | symbol, AnyRest)

function [captureRejectionSymbol]<K>(error: Error, event: string | symbol, args: AnyRest)

Parámetros

error

Error

event

string | symbol

args

AnyRest

Heredado de EventEmitter.__@captureRejectionSymbol@138