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

Arahan untuk menggunakan kaedah emitter.on dalam node.js_node.js

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

Penerangan kaedah:

Daftarkan pendengar untuk acara yang ditentukan.

Tatabahasa:

Salin kod Kod adalah seperti berikut:

emitter.on(acara, pendengar)
emitter.addListener(acara, pendengar)

Terima parameter:

acara (rentetan) Jenis acara
pendengar (fungsi) Fungsi panggil balik apabila peristiwa dicetuskan

Contoh:

Salin kod Kod adalah seperti berikut:

server.on('sambungan', fungsi (strim) {
console.log('seseorang disambungkan!');
});

Kod sumber:

Salin kod Kod adalah seperti berikut:

EventEmitter.prototype.addListener = fungsi(jenis, pendengar) {
var m;
jika (!util.isFunction(pendengar))
Throw TypeError('pendengar mestilah fungsi');
jika (!ini._acara)
This._events = {};
// Untuk mengelakkan pengulangan dalam kes yang menaip === "newListener" Sebelum
// menambahkannya pada pendengar, mula-mula keluarkan "newListener".
jika (this._events.newListener)
This.emit('newListener', type,
                util.isFunction(pendengar.pendengar) ?
Pendengar.pendengar : pendengar);
jika (!this._events[type])
// Optimumkan kes satu pendengar. Tidak memerlukan objek tatasusunan tambahan.
This._events[type] = pendengar;
else if (util.isObject(this._events[type]))
// Jika kita sudah mempunyai tatasusunan, tambah sahaja.
This._events[type].push(pendengar);
lain
// Menambah elemen kedua, perlu menukar kepada tatasusunan.
This._events[type] = [this._events[type], listener];
// Semak kebocoran pendengar
jika (util.isObject(this._events[type]) && !this._events[type].warning) {
var m;
Jika (!util.isUndefined(this._maxListeners)) {
        m = ini._maxListeners;
} lain {
m = EventEmitter.defaultMaxListeners;
}
Jika (m && m > 0 && this._events[type].panjang > m) {
This._events[type].warning = benar;
console.error('(nod) amaran: kemungkinan memori EventEmitter '
'kebocoran dikesan. %d pendengar ditambahkan                          'Gunakan emitter.setMaxListeners() untuk meningkatkan had.',
This._events[type].length);
console.trace();
}
}
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