다음을 통해 공유


ServiceReceiver interface

Extends

Receiver

메서드

abandon(Message, Callback<MessageAbandoned>)
complete(Message, Callback<MessageCompleted>)
reject(Message, Callback<MessageRejected>)

상속된 메서드

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

에 대한 별칭입니다 emitter.on(eventName, listener).

emit<K>(string | symbol, AnyRest)

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

이벤트에 수신기가 있으면 true 반환하고, 그렇지 않으면 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()

이미터가 수신기를 등록한 이벤트를 나열하는 배열을 반환합니다. 배열의 값은 문자열 또는 Symbol.

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

EventEmitter 설정되거나 emitter.setMaxListeners(n)기본값인 <xref: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().

on("errorReceived", (err: Error) => void)
on("message", (msg: Message) => void)
on(string, Function)
once<K>(string | symbol, (args: any[]) => void)

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

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

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

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

수신기 배열의 시작 이벤트에 대한 일회성 함수를 추가합니다. 다음에 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제거합니다.

특히 다른 구성 요소 또는 모듈(예: 소켓 또는 파일 스트림)에서 EventEmitter 인스턴스를 만든 경우 코드의 다른 위치에 추가된 수신기를 제거하는 것은 잘못된 방법입니다.

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

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

listener이벤트에 대한 수신기 배열에서 지정된 eventName 제거합니다.

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

removeListener() 수신기 배열에서 수신기의 인스턴스를 하나 이상 제거합니다. 단일 수신기가 지정된 eventName대한 수신기 배열에 여러 번 추가된 경우 각 인스턴스를 제거하려면 removeListener() 여러 번 호출해야 합니다.

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

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() 가장 최근에 추가된 인스턴스를 제거합니다. 예제에서 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 인스턴스에 대한 제한을 수정할 수 있습니다. 값을 Infinity(또는 0)로 설정하여 무제한 수신기를 나타낼 수 있습니다.

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

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

메서드 세부 정보

abandon(Message, Callback<MessageAbandoned>)

function abandon(message: Message, done?: Callback<MessageAbandoned>)

매개 변수

message

Message

done

Callback<MessageAbandoned>

complete(Message, Callback<MessageCompleted>)

function complete(message: Message, done?: Callback<MessageCompleted>)

매개 변수

message

Message

done

Callback<MessageCompleted>

reject(Message, Callback<MessageRejected>)

function reject(message: Message, done?: Callback<MessageRejected>)

매개 변수

message

Message

done

Callback<MessageRejected>

상속된 메서드 세부 정보

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

에 대한 별칭입니다 emitter.on(eventName, listener).

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

매개 변수

eventName

string | symbol

listener

(args: any[]) => void

반환

Receiver.addListener에서 상속된

emit<K>(string | symbol, AnyRest)

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

이벤트에 수신기가 있으면 true 반환하고, 그렇지 않으면 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

매개 변수

eventName

string | symbol

args

AnyRest

반환

boolean

Receiver.emit에서 상속된

eventNames()

이미터가 수신기를 등록한 이벤트를 나열하는 배열을 반환합니다. 배열의 값은 문자열 또는 Symbol.

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

Receiver.eventNames에서 상속된

getMaxListeners()

EventEmitter 설정되거나 emitter.setMaxListeners(n)기본값인 <xref:EventEmitter.defaultMaxListeners> 대한 현재 최대 수신기 값을 반환합니다.

function getMaxListeners(): number

반환

number

Receiver.getMaxListeners에서 상속된

listenerCount<K>(string | symbol, Function)

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

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

매개 변수

eventName

string | symbol

수신 대기 중인 이벤트의 이름입니다.

listener

Function

이벤트 처리기 함수

반환

number

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

Receiver.listeners에서 상속된

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

에 대한 별칭입니다 emitter.removeListener().

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

매개 변수

eventName

string | symbol

listener

(args: any[]) => void

반환

Receiver.off에서 상속된

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

function on(type: "errorReceived", func: (err: Error) => void): ServiceReceiver

매개 변수

type

"errorReceived"

func

(err: Error) => void

반환

Receiver.on에서 상속된

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

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

매개 변수

type

"message"

func

(msg: Message) => void

반환

Receiver.on에서 상속된

on(string, Function)

function on(type: string, func: Function): ServiceReceiver

매개 변수

type

string

func

Function

반환

Receiver.on에서 상속된

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

이벤트에 대한 listenereventName 함수를 추가합니다. 다음에 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): ServiceReceiver

매개 변수

eventName

string | symbol

이벤트의 이름입니다.

listener

(args: any[]) => void

콜백 함수

반환

Receiver.once에서 상속된

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

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

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

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

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

매개 변수

eventName

string | symbol

이벤트의 이름입니다.

listener

(args: any[]) => void

콜백 함수

반환

Receiver.prependListener에서 상속된

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

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

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

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

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

매개 변수

eventName

string | symbol

이벤트의 이름입니다.

listener

(args: any[]) => void

콜백 함수

반환

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

Receiver.rawListeners에서 상속된

removeAllListeners(string | symbol)

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

특히 다른 구성 요소 또는 모듈(예: 소켓 또는 파일 스트림)에서 EventEmitter 인스턴스를 만든 경우 코드의 다른 위치에 추가된 수신기를 제거하는 것은 잘못된 방법입니다.

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

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

매개 변수

eventName

string | symbol

반환

Receiver.removeAllListeners에서 상속된

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

listener이벤트에 대한 수신기 배열에서 지정된 eventName 제거합니다.

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

removeListener() 수신기 배열에서 수신기의 인스턴스를 하나 이상 제거합니다. 단일 수신기가 지정된 eventName대한 수신기 배열에 여러 번 추가된 경우 각 인스턴스를 제거하려면 removeListener() 여러 번 호출해야 합니다.

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

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() 가장 최근에 추가된 인스턴스를 제거합니다. 예제에서 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): ServiceReceiver

매개 변수

eventName

string | symbol

listener

(args: any[]) => void

반환

Receiver.removeListener에서 상속된

setMaxListeners(number)

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

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

function setMaxListeners(n: number): ServiceReceiver

매개 변수

n

number

반환

Receiver.setMaxListeners에서 상속된

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

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

매개 변수

error

Error

event

string | symbol

args

AnyRest

Receiver.__@captureRejectionSymbol@118 상속된