DeviceTransport interface

Extends

EventEmitter

메서드

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)

상속된 메서드

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

의 별칭입니다 emitter.on(eventName, listener).

emit<K>(string | symbol, AnyRest)

이벤트 에 등록된 각 수신기를 등록한 eventName순서대로 동기적으로 호출하여 제공된 인수를 각각에 전달합니다.

이벤트에 수신기가 있으면 를 반환하고, false 그렇지 않으면 를 반환 true 합니다.

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

방출기가 수신기를 등록한 이벤트를 나열하는 배열을 반환합니다. 배열의 값은 문자열 또는 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()

에 의해 emitter.setMaxListeners(n) 설정되거나 기본적으로 로 설정된 의 EventEmitter 현재 최대 수신기 값을 반환합니다defaultMaxListeners.

listenerCount<K>(string | symbol, Function)

라는 eventName이벤트를 수신 대기하는 수신기 수를 반환합니다. 가 제공되면 listener 이벤트 수신기 목록에서 수신기가 발견된 횟수를 반환합니다.

listeners<K>(string | symbol)

라는 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)

의 별칭입니다 emitter.removeListener().

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

라는 eventName이벤트에 대한 일회성listener 함수를 추가합니다. 다음에 eventName 트리거되면 이 수신기가 제거된 다음 호출됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

기본적으로 이벤트 수신기는 추가된 순서대로 호출됩니다. 메서드는 emitter.prependOnceListener() 수신기 배열의 시작 부분에 이벤트 수신기를 추가하는 대안으로 사용할 수 있습니다.

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 라는 eventName이벤트에 대한 수신기 배열의 시작 부분에 함수를 추가합니다. 가 이미 추가되었는지 확인하기 listener 위한 검사는 수행되지 않습니다. 및 listenereventName 동일한 조합을 전달하는 여러 호출은 listener 가 여러 번 추가되고 호출됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

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

라는 eventName 이벤트에 대한 일회성listener 함수를 수신기 배열의 시작 부분에 추가합니다. 다음에 eventName 트리거되면 이 수신기가 제거된 다음 호출됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

rawListeners<K>(string | symbol)

모든 래퍼(예: 에서 만든 래퍼)를 포함하여 라는 eventName이벤트에 대한 수신기 배열의 복사본을 .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)

모든 수신기 또는 지정된 eventName의 수신기를 제거합니다.

특히 일부 다른 구성 요소 또는 모듈(예: 소켓 또는 파일 스트림)에서 instance 만든 경우 EventEmitter 코드의 다른 곳에서 추가된 수신기를 제거하는 것이 좋지 않습니다.

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

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

라는 eventName이벤트의 수신기 배열에서 지정된 listener 를 제거합니다.

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

removeListener()는 수신기 배열에서 수신기의 instance 하나만 제거합니다. 단일 수신기가 지정된 eventNameremoveListener() 의 수신기 배열에 여러 번 추가된 경우 각 instance 제거하려면 여러 번 호출해야 합니다.

이벤트가 내보내지면 내보낸 시점에 연결된 모든 수신기가 순서대로 호출됩니다. 이는 내보내기 마지막 수신기가 실행을 완료하기 전에 또는 removeListener()removeAllListeners() 호출이 진행 중에서emit() 제거되지 않음을 의미합니다. 후속 이벤트는 예상대로 동작합니다.

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

수신기는 내부 배열을 사용하여 관리되므로 이를 호출하면 수신기가 제거된 등록된 수신기의 위치 인덱스가 변경됩니다. 이는 수신기가 호출되는 순서에 영향을 주지 않지만 메서드에서 반환 emitter.listeners() 된 수신기 배열의 복사본을 다시 만들어야 한다는 의미입니다.

단일 함수가 단일 이벤트에 대한 처리기로 여러 번 추가된 경우(아래 예제와 같이) removeListener() 가장 최근에 추가된 instance 제거됩니다. 예제에서 수신기는 once('ping') 제거됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

setMaxListeners(number)

기본적으로 EventEmitter는 특정 이벤트에 대해 수신기가 추가된 경우 10 경고를 출력합니다. 이는 메모리 누수 찾기에 도움이 되는 유용한 기본값입니다. emitter.setMaxListeners() 메서드를 사용하면 이 특정 EventEmitter instance 대한 제한을 수정할 수 있습니다. 값을 (또는 0)로 Infinity 설정하여 수신기 수를 제한하지 않음을 나타낼 수 있습니다.

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

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

메서드 세부 정보

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

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

매개 변수

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)

매개 변수

message
Message
done

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

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

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

매개 변수

done

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

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

done

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

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

callback

(err?: Error) => void

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

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

매개 변수

callback

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

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

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

매개 변수

type

"connected"

func

() => void

반환

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

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

매개 변수

type

"disconnect"

func

(err?: Error) => void

반환

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

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

매개 변수

type

"error"

func

(err: Error) => void

반환

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

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

매개 변수

type

"inputMessage"

func

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

반환

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

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

매개 변수

type

"message"

func

(msg: Message) => void

반환

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

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

매개 변수

type

"twinDesiredPropertiesUpdate"

func

(desiredProps: any) => void

반환

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

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

매개 변수

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)

매개 변수

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)

매개 변수

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)

매개 변수

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)

매개 변수

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)

매개 변수

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)

매개 변수

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)

매개 변수

done

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

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

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

매개 변수

sharedAccessSignature

string

done

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

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

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

매개 변수

patch

any

callback

(err?: Error) => void

상속된 메서드 세부 정보

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

의 별칭입니다 emitter.on(eventName, listener).

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

매개 변수

eventName

string | symbol

listener

(args: any[]) => void

반환

상속된 From EventEmitter.addListener

emit<K>(string | symbol, AnyRest)

이벤트 에 등록된 각 수신기를 등록한 eventName순서대로 동기적으로 호출하여 제공된 인수를 각각에 전달합니다.

이벤트에 수신기가 있으면 를 반환하고, false 그렇지 않으면 를 반환 true 합니다.

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

매개 변수

eventName

string | symbol

args

AnyRest

반환

boolean

상속된 From EventEmitter.emit

eventNames()

방출기가 수신기를 등록한 이벤트를 나열하는 배열을 반환합니다. 배열의 값은 문자열 또는 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)[]

반환

(string | symbol)[]

상속된 From EventEmitter.eventNames

getMaxListeners()

에 의해 emitter.setMaxListeners(n) 설정되거나 기본적으로 로 설정된 의 EventEmitter 현재 최대 수신기 값을 반환합니다defaultMaxListeners.

function getMaxListeners(): number

반환

number

상속된 From EventEmitter.getMaxListeners

listenerCount<K>(string | symbol, Function)

라는 eventName이벤트를 수신 대기하는 수신기 수를 반환합니다. 가 제공되면 listener 이벤트 수신기 목록에서 수신기가 발견된 횟수를 반환합니다.

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

매개 변수

eventName

string | symbol

수신 대기 중인 이벤트의 이름

listener

Function

이벤트 처리기 함수

반환

number

상속된 From EventEmitter.listenerCount

listeners<K>(string | symbol)

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

매개 변수

eventName

string | symbol

반환

Function[]

상속된 From EventEmitter.listeners

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

의 별칭입니다 emitter.removeListener().

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

매개 변수

eventName

string | symbol

listener

(args: any[]) => void

반환

상속된 From EventEmitter.off

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

라는 eventName이벤트에 대한 일회성listener 함수를 추가합니다. 다음에 eventName 트리거되면 이 수신기가 제거된 다음 호출됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

기본적으로 이벤트 수신기는 추가된 순서대로 호출됩니다. 메서드는 emitter.prependOnceListener() 수신기 배열의 시작 부분에 이벤트 수신기를 추가하는 대안으로 사용할 수 있습니다.

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

매개 변수

eventName

string | symbol

이벤트의 이름입니다.

listener

(args: any[]) => void

콜백 함수

반환

상속된 From EventEmitter.once

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

listener 라는 eventName이벤트에 대한 수신기 배열의 시작 부분에 함수를 추가합니다. 가 이미 추가되었는지 확인하기 listener 위한 검사는 수행되지 않습니다. 및 listenereventName 동일한 조합을 전달하는 여러 호출은 listener 가 여러 번 추가되고 호출됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

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

매개 변수

eventName

string | symbol

이벤트의 이름입니다.

listener

(args: any[]) => void

콜백 함수

반환

상속된 From EventEmitter.prependListener

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

라는 eventName 이벤트에 대한 일회성listener 함수를 수신기 배열의 시작 부분에 추가합니다. 다음에 eventName 트리거되면 이 수신기가 제거된 다음 호출됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

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

매개 변수

eventName

string | symbol

이벤트의 이름입니다.

listener

(args: any[]) => void

콜백 함수

반환

상속된 From EventEmitter.prependOnceListener

rawListeners<K>(string | symbol)

모든 래퍼(예: 에서 만든 래퍼)를 포함하여 라는 eventName이벤트에 대한 수신기 배열의 복사본을 .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[]

매개 변수

eventName

string | symbol

반환

Function[]

상속된 From EventEmitter.rawListeners

removeAllListeners(string | symbol)

모든 수신기 또는 지정된 eventName의 수신기를 제거합니다.

특히 일부 다른 구성 요소 또는 모듈(예: 소켓 또는 파일 스트림)에서 instance 만든 경우 EventEmitter 코드의 다른 곳에서 추가된 수신기를 제거하는 것이 좋지 않습니다.

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

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

매개 변수

eventName

string | symbol

반환

상속된 From EventEmitter.removeAllListeners

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

라는 eventName이벤트의 수신기 배열에서 지정된 listener 를 제거합니다.

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

removeListener()는 수신기 배열에서 수신기의 instance 하나만 제거합니다. 단일 수신기가 지정된 eventNameremoveListener() 의 수신기 배열에 여러 번 추가된 경우 각 instance 제거하려면 여러 번 호출해야 합니다.

이벤트가 내보내지면 내보낸 시점에 연결된 모든 수신기가 순서대로 호출됩니다. 이는 내보내기 마지막 수신기가 실행을 완료하기 전에 또는 removeListener()removeAllListeners() 호출이 진행 중에서emit() 제거되지 않음을 의미합니다. 후속 이벤트는 예상대로 동작합니다.

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

수신기는 내부 배열을 사용하여 관리되므로 이를 호출하면 수신기가 제거된 등록된 수신기의 위치 인덱스가 변경됩니다. 이는 수신기가 호출되는 순서에 영향을 주지 않지만 메서드에서 반환 emitter.listeners() 된 수신기 배열의 복사본을 다시 만들어야 한다는 의미입니다.

단일 함수가 단일 이벤트에 대한 처리기로 여러 번 추가된 경우(아래 예제와 같이) removeListener() 가장 최근에 추가된 instance 제거됩니다. 예제에서 수신기는 once('ping') 제거됩니다.

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

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

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

매개 변수

eventName

string | symbol

listener

(args: any[]) => void

반환

상속된 From EventEmitter.removeListener

setMaxListeners(number)

기본적으로 EventEmitter는 특정 이벤트에 대해 수신기가 추가된 경우 10 경고를 출력합니다. 이는 메모리 누수 찾기에 도움이 되는 유용한 기본값입니다. emitter.setMaxListeners() 메서드를 사용하면 이 특정 EventEmitter instance 대한 제한을 수정할 수 있습니다. 값을 (또는 0)로 Infinity 설정하여 수신기 수를 제한하지 않음을 나타낼 수 있습니다.

호출을 연결할 수 있도록 에 대한 참조 EventEmitter를 반환합니다.

function setMaxListeners(n: number): DeviceTransport

매개 변수

n

number

반환

상속된 From EventEmitter.setMaxListeners

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

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

매개 변수

error

Error

event

string | symbol

args

AnyRest

상속된 From EventEmitter.__@captureRejectionSymbol@138