>  기사  >  웹 프론트엔드  >  node.js_node.js의 events.emitter.removeListener 메소드 사용에 대한 지침

node.js_node.js의 events.emitter.removeListener 메소드 사용에 대한 지침

WBOY
WBOY원래의
2016-05-16 16:27:551624검색

방법 설명:

지정된 이벤트에 대한 리스너를 제거합니다.

문법:

코드 복사 코드는 다음과 같습니다.

Emitter.removeListener(이벤트, 리스너)

수신 매개변수:

이벤트(문자열) 이벤트 종류

리스너(함수) 등록된 리스너

예:

코드 복사 코드는 다음과 같습니다.

var 콜백 = 함수(스트림) {
console.log('누군가 연결되었습니다!');
};
server.on('연결', 콜백);
// ...
server.removeListener('connection', callback);

소스코드:

코드 복사 코드는 다음과 같습니다.

// 리스너가 제거되면 'removeListener' 이벤트를 발생시킵니다
EventEmitter.prototype.removeListener = 함수(유형, 리스너) {
var 목록, 위치, 길이, i;
if (!util.isFunction(리스너))
Throw TypeError('리스너는 함수여야 합니다.');
if (!this._events || !this._events[유형])
이것을 돌려주세요;
목록 = this._events[유형];
길이 = list.length;
위치 = -1;
if (목록 === 청취자 ||
(util.isFunction(list.listener) && list.listener === 리스너)) {
삭제하세요._events[type];
If (this._events.removeListener)
This.emit('removeListener', 유형, 청취자);
} else if (util.isObject(list)) {
for (i = 길이; i-- > 0;) {
If (목록[i] === 청취자 ||
(list[i].listener && list[i].listener === 리스너)) {
위치 = i;
         휴식;
}
}
(위치         이것을 돌려주세요.
If (list.length === 1) {
목록.길이 = 0;
삭제하세요._events[type];
} 그 밖의 {
List.splice(위치, 1);
}
If (this._events.removeListener)
This.emit('removeListener', 유형, 청취자);
}
이것을 돌려주세요;
};
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.