Rumah >hujung hadapan web >tutorial js >Arahan untuk menggunakan kaedah events.emitter.removeListener dalam node.js_node.js

Arahan untuk menggunakan kaedah events.emitter.removeListener dalam node.js_node.js

WBOY
WBOYasal
2016-05-16 16:27:551672semak imbas

Penerangan kaedah:

Alih keluar pendengar untuk acara yang ditentukan.

Tatabahasa:

Salin kod Kod adalah seperti berikut:

emitter.removeListener(acara, pendengar)

Terima parameter:

acara (rentetan) Jenis acara

pendengar (fungsi) Pendengar berdaftar

Contoh:

Salin kod Kod adalah seperti berikut:

var panggil balik = function(strim) {
console.log('seseorang disambungkan!');
};
server.on('sambungan', panggil balik);
// ...
server.removeListener('sambungan', panggil balik);

Kod sumber:

Salin kod Kod adalah seperti berikut:

// 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;
};
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn