This article mainly introduces node. events. emitter. the removeListener method is described in this article. emitter. removeListener method description, syntax, receiving parameters, use instances and implementation source code. For more information, see
Method description:
Removes a listener for a specified event.
Syntax:
The Code is as follows:
Emitter. removeListener (event, listener)
Receiving parameters:
Event (string) event Type
Listener registered by listener (function)
Example:
The Code is as follows:
Var callback = function (stream ){
Console. log ('someone connected! ');
};
Server. on ('connection', callback );
//...
Server. removeListener ('connection', callback );
Source code:
The Code is as follows:
// Emits a 'removelistener 'event iff the listener was removed
EventEmitter. prototype. removeListener = function (type, listener ){
Var list, position, length, I;
If (! Util. isFunction (listener ))
Throw TypeError ('listener must be a function ');
If (! This. _ events |! This. _ events [type])
Return this;
List = this. _ events [type];
Length = list. length;
Position =-1;
If (list = listener |
(Util. isFunction (list. listener) & list. listener === listener )){
Delete this. _ events [type];
If (this. _ events. removeListener)
This. emit ('removelistener ', type, listener );
} Else if (util. isObject (list )){
For (I = length; I --> 0 ;){
If (list [I] === listener |
(List [I]. listener & list [I]. listener === listener )){
Position = I;
Break;
}
}
If (position <0)
Return this;
If (list. length = 1 ){
List. length = 0;
Delete this. _ events [type];
} Else {
List. splice (position, 1 );
}
If (this. _ events. removeListener)
This. emit ('removelistener ', type, listener );
}
Return this;
};