방법 설명 :
지정된 이벤트에 대한 리스너를 등록하십시오.
문법:
코드 사본은 다음과 같습니다.
Emitter.on (이벤트, 청취자)
Emitter.addlistener (이벤트, 리스너)
매개 변수 수신 :
이벤트 (문자열) 이벤트 유형
리스너 (기능) 이벤트가 트리거 될 때 콜백 함수
예:
코드 사본은 다음과 같습니다.
Server.on ( 'Connection', function (stream) {
Console.log ( '누군가 연결!');
});
소스 코드 :
코드 사본은 다음과 같습니다.
eventimitter.prototype.addlistener = 함수 (유형, 리스너) {
var m;
if (! util.isfunction (리스너))
Throw TypeError ( '청취자는 함수 여야합니다');
if (! this._events)
this._events = {};
// 유형 === "NewListener"의 경우 재귀를 피하기 위해! 전에
// 리스너에게 추가하면 먼저 "NewListener"를 방출합니다.
if (this._events.newlistener)
this.emit ( 'Newlistener', 유형,
util.isfunction (Listener.listener)?
Listener.listener : Listener);
if (! this._events [type])
// 한 청취자의 경우를 최적화합니다. 추가 배열 객체가 필요하지 않습니다.
this._events [type] = 리스너;
else if (util.isobject (this._events [type]))
// 이미 배열이 있다면 추가하십시오.
this._events [type] .push (리스너);
또 다른
// 두 번째 요소를 추가하려면 배열로 변경해야합니다.
this._events [type] = [this._events [type], 리스너];
// 리스너 누출을 확인하십시오
if (util.isobject (this._events [type]) &&! this._events [type] .Warned) {
var m;
if (! util.isundefined (this._maxlisteners)) {
m = this._maxlisteners;
} 또 다른 {
M = EventEmitter.DefaultMaxListeners;
}
if (m && m> 0 && this._events [type] .length> m) {
this._events [type] .Warned = true;
console.error ( '(노드) 경고 : 가능한 이벤트 메모리' +
'누출이 감지되었습니다. %D 리스너가 추가되었습니다. ' +
'제한을 늘리려면'Emitter.setMaxListeners ()를 사용하십시오. ',
this._events [type] .length);
Console.Trace ();
}
}
이것을 반환하십시오;
};