Share via


DeviceTransport interface

Extends

EventEmitter

Metódusok

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)

Örökölt metódusok

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

Alias a következőhöz: emitter.on(eventName, listener).

emit<K>(string | symbol, AnyRest)

Szinkron módon meghívja a nevű eventNameeseményhez regisztrált összes figyelőt a regisztráció sorrendjében, és átadja a megadott argumentumokat mindegyiknek.

Akkor ad true vissza, ha az eseménynek voltak figyelői, false ellenkező esetben.

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

Egy tömböt ad vissza, amely felsorolja azokat az eseményeket, amelyekhez a kibocsátó regisztrált figyelőket tartalmaz. A tömb értékei sztringek vagy 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()

Az aktuális maximális figyelőértéket adja vissza, EventEmitter amelynek emitter.setMaxListeners(n) értéke vagy alapértelmezés szerint defaultMaxListenersa értéke.

listenerCount<K>(string | symbol, Function)

A nevű eseményt eventNamefigyelő figyelők számát adja vissza. Ha listener meg van adva, visszaadja, hogy hányszor található a figyelő az esemény figyelőinek listájában.

listeners<K>(string | symbol)

A nevű esemény eventNamefigyelőinek tömbjének másolatát adja vissza.

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 a következőhöz: emitter.removeListener().

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

Hozzáad egy egyszerilistener függvényt a nevű eventNameeseményhez. A következő aktiváláskor eventName a figyelő el lesz távolítva, majd meghívódik.

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

Alapértelmezés szerint az eseményfigyelők a hozzáadásuk sorrendjében lesznek meghívva. A emitter.prependOnceListener() metódus alternatívaként használható az eseményfigyelő hozzáadásához a figyelőtömb elejéhez.

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)

Hozzáadja a listener függvényt a nevű esemény eventNamefigyelőtömbjének elejéhez. Nem történik ellenőrzés annak ellenőrzésére, hogy a listener már hozzáadva van-e. Több hívás, amely ugyanazt a kombinációt eventName adja át, és listener ennek eredményeként a listener rendszer többször is hozzáadja és meghívja őket.

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

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

Hozzáad egy egyszerilistener függvényt a nevesített eventName eseményhez a figyelőtömb elejéhez . A következő aktiváláskor eventName a figyelő el lesz távolítva, majd meghívódik.

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

rawListeners<K>(string | symbol)

Visszaadja az esemény eventNamefigyelőinek tömbjének másolatát, beleértve a burkolókat is (például a által .once()létrehozottakat).

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)

Eltávolítja az összes figyelőt vagy a megadott eventNamefigyelőt.

Helytelen gyakorlat eltávolítani a kód más részeihez hozzáadott figyelőket, különösen akkor, ha a EventEmitter példányt más összetevő vagy modul hozta létre (például szoftvercsatornák vagy fájlstreamek).

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

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

Eltávolítja a megadott listener értéket a nevű eventNameesemény figyelőtömbéből.

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

removeListener() legfeljebb egy figyelőpéldányt távolít el a figyelőtömbből. Ha egy figyelőt többször is hozzáadtak a megadott eventNamefigyelőtömbhöz, akkor removeListener() az egyes példányok eltávolításához többször kell meghívni őket.

Az esemény kibocsátása után a rendszer sorrendben meghívja az ahhoz a kibocsátáskor csatolt összes figyelőt. Ez azt jelenti, hogy a removeListener() kibocsátás után és removeAllListeners() az utolsó figyelő végrehajtása előtt a hívások nem távolítják el őket a folyamatban lévőbőlemit(). A későbbi események a várt módon viselkednek.

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

Mivel a figyelők kezelése belső tömb használatával történik, ez a hívás megváltoztatja a figyelő eltávolítása után regisztrált figyelők pozícióindexeit. Ez nem befolyásolja a figyelők hívásának sorrendjét, de ez azt jelenti, hogy a metódus által emitter.listeners() visszaadott figyelőtömb minden példányát újra létre kell hozni.

Ha egyetlen függvényt többször adtak hozzá kezelőként egyetlen eseményhez (az alábbi példához hasonlóan), removeListener() a rendszer eltávolítja a legutóbb hozzáadott példányt. A példában a once('ping') figyelő el lesz távolítva:

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

setMaxListeners(number)

Alapértelmezés szerint EventEmitteraz s figyelmeztetést jelenít meg, ha egy adott eseményhez 10 több figyelő van hozzáadva. Ez egy hasznos alapérték, amely segít megtalálni a memóriavesztéseket. A emitter.setMaxListeners() metódus lehetővé teszi a korlát módosítását erre az adott EventEmitter példányra vonatkozóan. Az érték beállítható (vagy 0) értékre Infinity , hogy korlátlan számú figyelőt jelöljön.

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

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

Metódus adatai

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

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

Paraméterek

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)

Paraméterek

message
Message
done

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

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

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

Paraméterek

done

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

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

done

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

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

callback

(err?: Error) => void

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

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

Paraméterek

callback

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

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

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

Paraméterek

type

"connected"

func

() => void

Válaszok

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

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

Paraméterek

type

"disconnect"

func

(err?: Error) => void

Válaszok

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

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

Paraméterek

type

"error"

func

(err: Error) => void

Válaszok

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

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

Paraméterek

type

"inputMessage"

func

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

Válaszok

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

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

Paraméterek

type

"message"

func

(msg: Message) => void

Válaszok

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

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

Paraméterek

type

"twinDesiredPropertiesUpdate"

func

(desiredProps: any) => void

Válaszok

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

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

Paraméterek

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)

Paraméterek

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)

Paraméterek

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)

Paraméterek

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)

Paraméterek

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)

Paraméterek

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)

Paraméterek

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)

Paraméterek

done

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

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

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

Paraméterek

sharedAccessSignature

string

done

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

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

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

Paraméterek

patch

any

callback

(err?: Error) => void

Örökölt metódus részletei

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

Alias a következőhöz: emitter.on(eventName, listener).

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

Paraméterek

eventName

string | symbol

listener

(args: any[]) => void

Válaszok

Örökölt forrás EventEmitter.addListener

emit<K>(string | symbol, AnyRest)

Szinkron módon meghívja a nevű eventNameeseményhez regisztrált összes figyelőt a regisztráció sorrendjében, és átadja a megadott argumentumokat mindegyiknek.

Akkor ad true vissza, ha az eseménynek voltak figyelői, false ellenkező esetben.

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

Paraméterek

eventName

string | symbol

args

AnyRest

Válaszok

boolean

Örökölt forrás EventEmitter.emit

eventNames()

Egy tömböt ad vissza, amely felsorolja azokat az eseményeket, amelyekhez a kibocsátó regisztrált figyelőket tartalmaz. A tömb értékei sztringek vagy 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)[]

Válaszok

(string | symbol)[]

Örökölt forrás EventEmitter.eventNames

getMaxListeners()

Az aktuális maximális figyelőértéket adja vissza, EventEmitter amelynek emitter.setMaxListeners(n) értéke vagy alapértelmezés szerint defaultMaxListenersa értéke.

function getMaxListeners(): number

Válaszok

number

Örökölt forrás EventEmitter.getMaxListeners

listenerCount<K>(string | symbol, Function)

A nevű eseményt eventNamefigyelő figyelők számát adja vissza. Ha listener meg van adva, visszaadja, hogy hányszor található a figyelő az esemény figyelőinek listájában.

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

Paraméterek

eventName

string | symbol

A figyelt esemény neve

listener

Function

Az eseménykezelő függvény

Válaszok

number

Örökölt forrás EventEmitter.listenerCount

listeners<K>(string | symbol)

A nevű esemény eventNamefigyelőinek tömbjének másolatát adja vissza.

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

Paraméterek

eventName

string | symbol

Válaszok

Function[]

Örökölt forrás EventEmitter.listeners

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

Alias a következőhöz: emitter.removeListener().

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

Paraméterek

eventName

string | symbol

listener

(args: any[]) => void

Válaszok

Örökölt forrás EventEmitter.off

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

Hozzáad egy egyszerilistener függvényt a nevű eventNameeseményhez. A következő aktiváláskor eventName a figyelő el lesz távolítva, majd meghívódik.

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

Alapértelmezés szerint az eseményfigyelők a hozzáadásuk sorrendjében lesznek meghívva. A emitter.prependOnceListener() metódus alternatívaként használható az eseményfigyelő hozzáadásához a figyelőtömb elejéhez.

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

Paraméterek

eventName

string | symbol

Az esemény neve.

listener

(args: any[]) => void

A visszahívási függvény

Válaszok

Örökölt forrás EventEmitter.once

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

Hozzáadja a listener függvényt a nevű esemény eventNamefigyelőtömbjének elejéhez. Nem történik ellenőrzés annak ellenőrzésére, hogy a listener már hozzáadva van-e. Több hívás, amely ugyanazt a kombinációt eventName adja át, és listener ennek eredményeként a listener rendszer többször is hozzáadja és meghívja őket.

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

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

Paraméterek

eventName

string | symbol

Az esemény neve.

listener

(args: any[]) => void

A visszahívási függvény

Válaszok

Örökölt forrás EventEmitter.prependListener

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

Hozzáad egy egyszerilistener függvényt a nevesített eventName eseményhez a figyelőtömb elejéhez . A következő aktiváláskor eventName a figyelő el lesz távolítva, majd meghívódik.

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

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

Paraméterek

eventName

string | symbol

Az esemény neve.

listener

(args: any[]) => void

A visszahívási függvény

Válaszok

Örökölt forrás EventEmitter.prependOnceListener

rawListeners<K>(string | symbol)

Visszaadja az esemény eventNamefigyelőinek tömbjének másolatát, beleértve a burkolókat is (például a által .once()létrehozottakat).

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

Paraméterek

eventName

string | symbol

Válaszok

Function[]

Örökölt forrás EventEmitter.rawListeners

removeAllListeners(string | symbol)

Eltávolítja az összes figyelőt vagy a megadott eventNamefigyelőt.

Helytelen gyakorlat eltávolítani a kód más részeihez hozzáadott figyelőket, különösen akkor, ha a EventEmitter példányt más összetevő vagy modul hozta létre (például szoftvercsatornák vagy fájlstreamek).

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

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

Paraméterek

eventName

string | symbol

Válaszok

Örökölt forrás EventEmitter.removeAllListeners

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

Eltávolítja a megadott listener értéket a nevű eventNameesemény figyelőtömbéből.

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

removeListener() legfeljebb egy figyelőpéldányt távolít el a figyelőtömbből. Ha egy figyelőt többször is hozzáadtak a megadott eventNamefigyelőtömbhöz, akkor removeListener() az egyes példányok eltávolításához többször kell meghívni őket.

Az esemény kibocsátása után a rendszer sorrendben meghívja az ahhoz a kibocsátáskor csatolt összes figyelőt. Ez azt jelenti, hogy a removeListener() kibocsátás után és removeAllListeners() az utolsó figyelő végrehajtása előtt a hívások nem távolítják el őket a folyamatban lévőbőlemit(). A későbbi események a várt módon viselkednek.

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

Mivel a figyelők kezelése belső tömb használatával történik, ez a hívás megváltoztatja a figyelő eltávolítása után regisztrált figyelők pozícióindexeit. Ez nem befolyásolja a figyelők hívásának sorrendjét, de ez azt jelenti, hogy a metódus által emitter.listeners() visszaadott figyelőtömb minden példányát újra létre kell hozni.

Ha egyetlen függvényt többször adtak hozzá kezelőként egyetlen eseményhez (az alábbi példához hasonlóan), removeListener() a rendszer eltávolítja a legutóbb hozzáadott példányt. A példában a once('ping') figyelő el lesz távolítva:

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

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

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

Paraméterek

eventName

string | symbol

listener

(args: any[]) => void

Válaszok

Örökölt forrás EventEmitter.removeListener

setMaxListeners(number)

Alapértelmezés szerint EventEmitteraz s figyelmeztetést jelenít meg, ha egy adott eseményhez 10 több figyelő van hozzáadva. Ez egy hasznos alapérték, amely segít megtalálni a memóriavesztéseket. A emitter.setMaxListeners() metódus lehetővé teszi a korlát módosítását erre az adott EventEmitter példányra vonatkozóan. Az érték beállítható (vagy 0) értékre Infinity , hogy korlátlan számú figyelőt jelöljön.

A parancsra mutató hivatkozást ad vissza, hogy a EventEmitterhívások láncoltak legyenek.

function setMaxListeners(n: number): DeviceTransport

Paraméterek

n

number

Válaszok

Örökölt forrás EventEmitter.setMaxListeners

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

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

Paraméterek

error

Error

event

string | symbol

args

AnyRest

Örökölt forrás EventEmitter.__@captureRejectionSymbol@138