メソッドの説明:
指定されたイベントのリスナーを削除します。
文法:
エミッター.removeListener(イベント, リスナー)
パラメータを受信します:
event (文字列) イベントタイプ
listener (関数) 登録されたリスナー
例:
var callback = function(stream) {
console.log('誰かが接続しました!');
};
server.on('接続', コールバック);
// ...
server.removeListener('接続', コールバック);
ソースコード:
// リスナーが削除された場合は、'removeListener' イベントを発行します
EventEmitter.prototype.removeListener = function(type, リスナー) {
var リスト、位置、長さ、i;
if (!util.isFunction(listener))
Throw TypeError('リスナーは関数である必要があります');
if (!this._events || !this._events[タイプ])
これを返してください;
list = this._events[タイプ];
長さ = list.length;
位置 = -1;
if (list === リスナー ||
(util.isFunction(list.listener) && list.listener === リスナー)) {
this._events[type];
を削除します
If (this._events.removeListener)
This.emit('removeListener', type, リスナー);
else if (util.isObject(list)) {
for (i = 長さ; i-- > 0;) {
If (list[i] === リスナー ||
(list[i].listener && list[i].listener === リスナー)) {
位置 = i;
休憩;
}
}
If (位置
これを返します;
If (list.length === 1) {
List.length = 0;
this._events[type];
を削除します
} else {
List.splice(位置, 1);
}
If (this._events.removeListener)
This.emit('removeListener', type, リスナー);
}
これを返します;
};