Penerangan kaedah:
Alih keluar pendengar untuk acara yang ditentukan.
Tatabahasa:
emitter.removeListener(acara, pendengar)
Terima parameter:
acara (rentetan) Jenis acara
pendengar (fungsi) Pendengar berdaftar
Contoh:
var panggil balik = function(strim) {
console.log('seseorang disambungkan!');
};
server.on('sambungan', panggil balik);
// ...
server.removeListener('sambungan', panggil balik);
Kod sumber:
// mengeluarkan acara 'removeListener' jika pendengar telah dialih keluar
EventEmitter.prototype.removeListener = fungsi(jenis, pendengar) {
senarai var, kedudukan, panjang, i;
jika (!util.isFunction(pendengar))
Throw TypeError('pendengar mestilah fungsi');
jika (!this._events || !this._events[type])
Kembalikan ini;
list = this._events[type];
panjang = senarai.panjang;
kedudukan = -1;
jika (senarai === pendengar ||
(util.isFunction(list.listener) && list.listener === listener)) {
Padam ini._events[type];
Jika (this._events.removeListener)
This.emit('removeListener', type, listener);
} else if (util.isObject(list)) {
untuk (i = panjang; i-- > 0;) {
Jika (senarai[i] === pendengar ||
(senarai[i].pendengar && senarai[i].pendengar === pendengar)) {
kedudukan = i;
rehat;
}
}
Jika (kedudukan < 0)
kembalikan ini;
Jika (senarai.panjang === 1) {
List.length = 0;
Padam ini._events[type];
} lain {
List.splice(kedudukan, 1);
}
Jika (this._events.removeListener)
This.emit('removeListener', type, listener);
}
pulangkan ini;
};