DeviceTransport interface

Extends

EventEmitter

Metody

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)

Metody dziedziczone

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

Alias dla .emitter.on(eventName, listener)

emit<K>(string | symbol, AnyRest)

Synchronicznie wywołuje każdy odbiornik zarejestrowany dla zdarzenia o nazwie eventName, w kolejności, w której zostały zarejestrowane, przekazując podane argumenty do każdego z nich.

Zwraca true wartość , jeśli zdarzenie miało odbiorniki, false w przeciwnym razie.

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()

Zwraca tablicę zawierającą listę zdarzeń, dla których emiter zarejestrował odbiorniki. Wartości w tablicy to ciągi lub 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()

Zwraca bieżącą wartość maksymalnego odbiornika dla parametru EventEmitter , która jest ustawiona domyślnie emitter.setMaxListeners(n) na defaultMaxListenerswartość .

listenerCount<K>(string | symbol, Function)

Zwraca liczbę odbiorników nasłuchujących zdarzenia o nazwie eventName. Jeśli listener zostanie podana, zostanie zwrócona liczba wystąpień odbiornika na liście odbiorników zdarzenia.

listeners<K>(string | symbol)

Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie 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 dla .emitter.removeListener()

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

Dodaje funkcję jednorazowąlistener dla zdarzenia o nazwie eventName. Następnym razem eventName zostanie wyzwolony odbiornik, a następnie wywołany.

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

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metoda emitter.prependOnceListener() może służyć jako alternatywa, aby dodać odbiornik zdarzeń na początku tablicy odbiorników.

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)

listener Dodaje funkcję na początku tablicy odbiorników dla zdarzenia o nazwie eventName. Nie są sprawdzane, czy listener element został już dodany. Wiele wywołań przekazujących eventName tę samą kombinację elementów i listener spowoduje listener dodanie i wywołanie wielu razy.

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

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

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

Dodaje jednorazowąlistener funkcję zdarzenia o nazwie eventName na początku tablicy odbiorników. Następnym razem eventName zostanie wyzwolony, ten odbiornik zostanie usunięty, a następnie wywołany.

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

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

rawListeners<K>(string | symbol)

Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie eventName, w tym wszelkie otoki (takie jak utworzone przez .once()program ).

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)

Usuwa wszystkie odbiorniki lub te z określonego eventNameelementu .

Niewłaściwą praktyką jest usunięcie odbiorników dodanych w innym miejscu w kodzie, szczególnie w przypadku EventEmitter utworzenia wystąpienia przez inny składnik lub moduł (np. gniazda lub strumienie plików).

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

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

Usuwa określony listener element z tablicy odbiorników dla zdarzenia o nazwie eventName.

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

removeListener() spowoduje usunięcie co najwyżej jednego wystąpienia odbiornika z tablicy odbiornika. Jeśli którykolwiek pojedynczy odbiornik został dodany wiele razy do tablicy odbiornika dla określonego eventNameelementu , removeListener() należy wywołać wiele razy, aby usunąć każde wystąpienie.

Po emitowaniu zdarzenia wszystkie odbiorniki dołączone do niego w momencie emitowania są wywoływane w kolejności. Oznacza to, że wszystkie removeListener() wywołania lub removeAllListeners()po emitowaniu i przed zakończeniem wykonywania ostatniego odbiornika nie zostaną usunięte zemit() postępu. Kolejne zdarzenia zachowują się zgodnie z oczekiwaniami.

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

Ponieważ odbiorniki są zarządzane przy użyciu tablicy wewnętrznej, wywołanie tej funkcji spowoduje zmianę indeksów pozycji każdego odbiornika zarejestrowanego po usunięciu odbiornika. Nie będzie to miało wpływu na kolejność wywoływanych odbiorników, ale oznacza to, że wszystkie kopie tablicy odbiorników zwrócone przez emitter.listeners() metodę będą musiały zostać ponownie odtworzone.

Jeśli pojedyncza funkcja została dodana jako procedura obsługi wiele razy dla pojedynczego zdarzenia (jak w poniższym przykładzie), removeListener() spowoduje usunięcie ostatnio dodanego wystąpienia. W przykładzie odbiornik once('ping') jest usuwany:

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');

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

setMaxListeners(number)

Domyślnie EventEmitterprogram wyświetli ostrzeżenie, jeśli dla określonego zdarzenia zostanie dodanych więcej niż 10 odbiorniki. Jest to przydatne ustawienie domyślne, które pomaga znaleźć przecieki pamięci. Metoda emitter.setMaxListeners() umożliwia zmodyfikowanie limitu dla tego konkretnego EventEmitter wystąpienia. Wartość można ustawić na Infinity (lub 0), aby wskazać nieograniczoną liczbę odbiorników.

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

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

Szczegóły metody

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

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

Parametry

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)

Parametry

message
Message
done

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

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

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

Parametry

done

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

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

done

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

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

callback

(err?: Error) => void

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

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

Parametry

callback

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

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

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

Parametry

type

"connected"

func

() => void

Zwraca

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

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

Parametry

type

"disconnect"

func

(err?: Error) => void

Zwraca

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

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

Parametry

type

"error"

func

(err: Error) => void

Zwraca

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

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

Parametry

type

"inputMessage"

func

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

Zwraca

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

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

Parametry

type

"message"

func

(msg: Message) => void

Zwraca

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

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

Parametry

type

"twinDesiredPropertiesUpdate"

func

(desiredProps: any) => void

Zwraca

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

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

Parametry

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)

Parametry

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)

Parametry

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)

Parametry

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)

Parametry

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)

Parametry

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)

Parametry

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)

Parametry

done

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

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

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

Parametry

sharedAccessSignature

string

done

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

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

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

Parametry

patch

any

callback

(err?: Error) => void

Szczegóły metody dziedziczonej

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

Alias dla .emitter.on(eventName, listener)

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

Parametry

eventName

string | symbol

listener

(args: any[]) => void

Zwraca

Dziedziczone z EventEmitter.addListener

emit<K>(string | symbol, AnyRest)

Synchronicznie wywołuje każdy odbiornik zarejestrowany dla zdarzenia o nazwie eventName, w kolejności, w której zostały zarejestrowane, przekazując podane argumenty do każdego z nich.

Zwraca true wartość , jeśli zdarzenie miało odbiorniki, false w przeciwnym razie.

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

Parametry

eventName

string | symbol

args

AnyRest

Zwraca

boolean

Dziedziczone z EventEmitter.emit

eventNames()

Zwraca tablicę zawierającą listę zdarzeń, dla których emiter zarejestrował odbiorniki. Wartości w tablicy to ciągi lub 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)[]

Zwraca

(string | symbol)[]

Dziedziczone z EventEmitter.eventNames

getMaxListeners()

Zwraca bieżącą wartość maksymalnego odbiornika dla parametru EventEmitter , która jest ustawiona domyślnie emitter.setMaxListeners(n) na defaultMaxListenerswartość .

function getMaxListeners(): number

Zwraca

number

Dziedziczone z EventEmitter.getMaxListeners

listenerCount<K>(string | symbol, Function)

Zwraca liczbę odbiorników nasłuchujących zdarzenia o nazwie eventName. Jeśli listener zostanie podana, zostanie zwrócona liczba wystąpień odbiornika na liście odbiorników zdarzenia.

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

Parametry

eventName

string | symbol

Nazwa zdarzenia, dla których jest nasłuchiwane

listener

Function

Funkcja obsługi zdarzeń

Zwraca

number

Dziedziczone z EventEmitter.listenerCount

listeners<K>(string | symbol)

Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie 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[]

Parametry

eventName

string | symbol

Zwraca

Function[]

Dziedziczone z EventEmitter.listeners

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

Alias dla .emitter.removeListener()

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

Parametry

eventName

string | symbol

listener

(args: any[]) => void

Zwraca

Dziedziczone z EventEmitter.off

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

Dodaje funkcję jednorazowąlistener dla zdarzenia o nazwie eventName. Następnym razem eventName zostanie wyzwolony odbiornik, a następnie wywołany.

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

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

Domyślnie odbiorniki zdarzeń są wywoływane w kolejności, w której są dodawane. Metoda emitter.prependOnceListener() może służyć jako alternatywa, aby dodać odbiornik zdarzeń na początku tablicy odbiorników.

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

Parametry

eventName

string | symbol

Nazwa zdarzenia.

listener

(args: any[]) => void

Funkcja wywołania zwrotnego

Zwraca

Dziedziczone z EventEmitter.once

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

listener Dodaje funkcję na początku tablicy odbiorników dla zdarzenia o nazwie eventName. Nie są sprawdzane, czy listener element został już dodany. Wiele wywołań przekazujących eventName tę samą kombinację elementów i listener spowoduje listener dodanie i wywołanie wielu razy.

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

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

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

Parametry

eventName

string | symbol

Nazwa zdarzenia.

listener

(args: any[]) => void

Funkcja wywołania zwrotnego

Zwraca

Dziedziczone z EventEmitter.prependListener

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

Dodaje jednorazowąlistener funkcję zdarzenia o nazwie eventName na początku tablicy odbiorników. Następnym razem eventName zostanie wyzwolony, ten odbiornik zostanie usunięty, a następnie wywołany.

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

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

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

Parametry

eventName

string | symbol

Nazwa zdarzenia.

listener

(args: any[]) => void

Funkcja wywołania zwrotnego

Zwraca

Dziedziczone z EventEmitter.prependOnceListener

rawListeners<K>(string | symbol)

Zwraca kopię tablicy odbiorników dla zdarzenia o nazwie eventName, w tym wszelkie otoki (takie jak utworzone przez .once()program ).

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[]

Parametry

eventName

string | symbol

Zwraca

Function[]

Dziedziczone z EventEmitter.rawListeners

removeAllListeners(string | symbol)

Usuwa wszystkie odbiorniki lub te z określonego eventNameelementu .

Niewłaściwą praktyką jest usunięcie odbiorników dodanych w innym miejscu w kodzie, szczególnie w przypadku EventEmitter utworzenia wystąpienia przez inny składnik lub moduł (np. gniazda lub strumienie plików).

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

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

Parametry

eventName

string | symbol

Zwraca

Dziedziczone z EventEmitter.removeAllListeners

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

Usuwa określony listener element z tablicy odbiorników dla zdarzenia o nazwie eventName.

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

removeListener() spowoduje usunięcie co najwyżej jednego wystąpienia odbiornika z tablicy odbiornika. Jeśli którykolwiek pojedynczy odbiornik został dodany wiele razy do tablicy odbiornika dla określonego eventNameelementu , removeListener() należy wywołać wiele razy, aby usunąć każde wystąpienie.

Po emitowaniu zdarzenia wszystkie odbiorniki dołączone do niego w momencie emitowania są wywoływane w kolejności. Oznacza to, że wszystkie removeListener() wywołania lub removeAllListeners()po emitowaniu i przed zakończeniem wykonywania ostatniego odbiornika nie zostaną usunięte zemit() postępu. Kolejne zdarzenia zachowują się zgodnie z oczekiwaniami.

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

Ponieważ odbiorniki są zarządzane przy użyciu tablicy wewnętrznej, wywołanie tej funkcji spowoduje zmianę indeksów pozycji każdego odbiornika zarejestrowanego po usunięciu odbiornika. Nie będzie to miało wpływu na kolejność wywoływanych odbiorników, ale oznacza to, że wszystkie kopie tablicy odbiorników zwrócone przez emitter.listeners() metodę będą musiały zostać ponownie odtworzone.

Jeśli pojedyncza funkcja została dodana jako procedura obsługi wiele razy dla pojedynczego zdarzenia (jak w poniższym przykładzie), removeListener() spowoduje usunięcie ostatnio dodanego wystąpienia. W przykładzie odbiornik once('ping') jest usuwany:

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');

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

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

Parametry

eventName

string | symbol

listener

(args: any[]) => void

Zwraca

Dziedziczone z EventEmitter.removeListener

setMaxListeners(number)

Domyślnie EventEmitterprogram wyświetli ostrzeżenie, jeśli dla określonego zdarzenia zostanie dodanych więcej niż 10 odbiorniki. Jest to przydatne ustawienie domyślne, które pomaga znaleźć przecieki pamięci. Metoda emitter.setMaxListeners() umożliwia zmodyfikowanie limitu dla tego konkretnego EventEmitter wystąpienia. Wartość można ustawić na Infinity (lub 0), aby wskazać nieograniczoną liczbę odbiorników.

Zwraca odwołanie do elementu EventEmitter, aby można było połączyć wywołania w łańcuch.

function setMaxListeners(n: number): DeviceTransport

Parametry

n

number

Zwraca

Dziedziczone z EventEmitter.setMaxListeners

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

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

Parametry

error

Error

event

string | symbol

args

AnyRest

Dziedziczone z EventEmitter.__@captureRejectionSymbol@138