객체 내장 객체

객체이벤트 이미터

EventEmitter는 관찰자 패턴을 설정하는 데 사용할 수 있는 이벤트 트리거 개체입니다. 이벤트 트리거를 지원하는 개체는 모두 이 항목을 상속합니다.

이벤트가 트리거되면 해당 이벤트와 연결된 모든 리스너가 비동기적으로 호출됩니다. 또한 고도로 맞춤화 가능하고 유연한 코드를 생성할 수 있습니다.

일반적으로 사용되는 함수에는 addListener/on, Once, RemoveListener/off, RemoveAllListeners 및 Emit이 포함됩니다.

샘플 코드는 다음과 같습니다.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
var fs = require('fs'); var EventEmitter = require('events'); var event = new EventEmitter(); event.on('read_file', function(filename) { fs.readFile(filename, 'utf8', function(err, data) { if (err) { event.emit('error', err); return; } event.emit('show_content', data); }); }); event.on('error', function(err) { console.log(`Error ${err}`); }); event.on('show_content', function(content) { console.log(content); }); event.emit('read_file', 'test.txt');

위의 샘플 코드를 실행하면 이벤트 이미터 인스턴스 이벤트가 먼저 'read_file' 이벤트를 수신한 후, 이벤트가 트리거될 때 event.emit('read_file', 'test.txt')파일을 읽는 작업을 트리거합니다 ( ). 읽기에 성공하면 'show_content' 이벤트가 발생하는데, 이때 'show_content' 이벤트를 수신한 함수가 실행되면서 파일 내용이 표시됩니다. 파일을 읽는 중 오류가 발생하면 'error' 이벤트가 발생하고 작업 실패가 처리됩니다.

이 모델은 비동기 작업을 다루는 비즈니스 시나리오에서 큰 이점을 제공합니다.

상속관계

%0 object object toString() toJSON() EventEmitter EventEmitter new EventEmitter() EventEmitter defaultMaxListeners on() addListener() prependListener() once() prependOnceListener() off() removeListener() removeAllListeners() setMaxListeners() getMaxListeners() listeners() listenerCount() eventNames() emit() object->EventEmitter ChildProcess ChildProcess EventEmitter->ChildProcess DgramSocket DgramSocket EventEmitter->DgramSocket FSWatcher FSWatcher EventEmitter->FSWatcher LruCache LruCache EventEmitter->LruCache Service Service EventEmitter->Service StatsWatcher StatsWatcher EventEmitter->StatsWatcher WebSocket WebSocket EventEmitter->WebSocket WebView WebView EventEmitter->WebView Worker Worker EventEmitter->Worker

건설자

EventEmitter

건설자

1
new EventEmitter();

물체

이벤트 트리거 객체

1
EventEmitter new EventEmitter;

정적 속성

defaultMaxListeners

정수, 기본 전역 최대 리스너 수

1
static Integer EventEmitter.defaultMaxListeners;

멤버 함수

on

이벤트 핸들러를 객체에 바인딩

1 2
Object EventEmitter.on(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체에 바인딩

1
Object EventEmitter.on(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

addListener

이벤트 핸들러를 객체에 바인딩

1 2
Object EventEmitter.addListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체에 바인딩

1
Object EventEmitter.addListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

prependListener

이벤트 핸들러를 객체의 원점에 바인딩

1 2
Object EventEmitter.prependListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체의 원점에 바인딩

1
Object EventEmitter.prependListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

once

일회성 이벤트 핸들러를 객체에 바인딩합니다. 일회성 핸들러는 한 번만 트리거됩니다.

1 2
Object EventEmitter.once(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

일회성 이벤트 핸들러를 객체에 바인딩합니다. 일회성 핸들러는 한 번만 트리거됩니다.

1
Object EventEmitter.once(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

prependOnceListener

이벤트 핸들러를 객체의 원점에 바인딩

1 2
Object EventEmitter.prependOnceListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

이벤트 핸들러를 객체의 원점에 바인딩

1
Object EventEmitter.prependOnceListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름이 이벤트 이름으로 사용되고 속성 값이 이벤트 처리 함수로 사용됩니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

off

객체 처리 대기열에서 기능 할당 취소

1 2
Object EventEmitter.off(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열의 모든 기능 취소

1
Object EventEmitter.off(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열에서 기능 할당 취소

1
Object EventEmitter.off(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름을 이벤트 이름으로 사용하고, 해당 속성의 값을 이벤트 처리 함수로 사용합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

removeListener

객체 처리 대기열에서 기능 할당 취소

1 2
Object EventEmitter.removeListener(String ev, Function func);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.
  • func: 함수, 이벤트 처리 함수를 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열의 모든 기능 취소

1
Object EventEmitter.removeListener(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체 처리 대기열에서 기능 할당 취소

1
Object EventEmitter.removeListener(Object map);

호출 매개변수:

  • map: Object, 이벤트 매핑 관계를 지정하며, 객체 속성 이름을 이벤트 이름으로 사용하고, 해당 속성의 값을 이벤트 처리 함수로 사용합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

removeAllListeners

객체의 처리 대기열에서 모든 이벤트에 대한 모든 리스너를 취소합니다. 이벤트가 지정된 경우 지정된 이벤트에 대한 모든 리스너를 제거합니다.

1
Object EventEmitter.removeAllListeners(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

객체의 처리 대기열에서 모든 이벤트에 대한 모든 리스너를 취소합니다. 이벤트가 지정된 경우 지정된 이벤트에 대한 모든 리스너를 제거합니다.

1
Object EventEmitter.removeAllListeners(Array evs = []);

호출 매개변수:

  • evs: 배열, 이벤트 이름 지정

결과 반환:

  • Object, 체인 호출을 용이하게 하기 위해 이벤트 객체 자체를 반환합니다.

setMaxListeners

호환성만을 위한 리스너 수의 기본 제한

1
EventEmitter.setMaxListeners(Integer n);

호출 매개변수:

  • n: 정수, 이벤트 수를 지정합니다.

getMaxListeners

호환성만을 위해 기본 제한 수의 리스너를 가져옵니다.

1
Integer EventEmitter.getMaxListeners();

결과 반환:

  • Integer, 기본 제한 수량을 반환합니다.

listeners

객체의 지정된 이벤트에 대한 리스너 배열을 쿼리합니다.

1
Array EventEmitter.listeners(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Array, 지정된 이벤트에 대한 리스너 배열을 반환합니다.

listenerCount

객체의 지정된 이벤트에 대한 리스너 수를 쿼리합니다.

1
Integer EventEmitter.listenerCount(String ev);

호출 매개변수:

  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Integer, 지정된 이벤트에 대한 리스너 수를 반환합니다.

객체의 지정된 이벤트에 대한 리스너 수를 쿼리합니다.

1 2
Integer EventEmitter.listenerCount(Value o, String ev);

호출 매개변수:

  • o: 값, 쿼리 개체를 지정합니다.
  • ev: 문자열, 이벤트 이름을 지정합니다.

결과 반환:

  • Integer, 지정된 이벤트에 대한 리스너 수를 반환합니다.

eventNames

쿼리 리스너 이벤트 이름

1
Array EventEmitter.eventNames();

결과 반환:

  • Array, 이벤트 이름의 배열을 반환합니다.

emit

이벤트를 적극적으로 트리거

1 2
Boolean EventEmitter.emit(String ev, ...args);

호출 매개변수:

  • ev: 문자열, 이벤트 이름
  • args: ..., 이벤트 매개변수가 이벤트 처리 함수에 전달됩니다.

결과 반환:

  • Boolean, 이벤트 트리거 상태를 반환하고, 응답 이벤트가 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.

toString

객체의 문자열 표현을 반환하며 일반적으로 "[Native Object]"를 반환하며 객체 자체의 특성에 따라 다시 구현될 수 있습니다.

1
String EventEmitter.toString();

결과 반환:

  • String, 객체의 문자열 표현을 반환합니다.

toJSON

객체의 JSON 형식 표현을 반환하며 일반적으로 객체에 의해 정의된 읽을 수 있는 속성 컬렉션을 반환합니다.

1
Value EventEmitter.toJSON(String key = "");

호출 매개변수:

  • key: 문자열, 사용되지 않음

결과 반환:

  • Value, 직렬화 가능한 JSON을 포함하는 값을 반환합니다.