Deskripsi metode:
Daftarkan pendengar untuk acara yang ditentukan.
tata bahasa:
Salinan kode adalah sebagai berikut:
emitter.on (acara, pendengar)
emitter.addlistener (acara, pendengar)
Menerima parameter:
Tipe Acara (String) Acara
pendengar (fungsi) fungsi panggilan balik saat acara dipicu
contoh:
Salinan kode adalah sebagai berikut:
server.on ('connection', function (stream) {
console.log ('seseorang yang terhubung!');
});
Kode Sumber:
Salinan kode adalah sebagai berikut:
EventeMitter.Prototype.AddListener = fungsi (ketik, pendengar) {
var M;
if (! util.function (pendengar))
Throw TypeError ('pendengar harus berfungsi');
if (! this._events)
this._events = {};
// Untuk menghindari rekursi dalam kasus tipe itu === "NewListener"! Sebelum
// Menambahkannya ke pendengar, pertama kali memancarkan "Newlistener".
if (this._events.newlistener)
this.emit ('newlistener', type,
util.function (listener.listener)?
listener.listener: pendengar);
if (! this._events [type])
// Optimalkan kasus satu pendengar. Tidak membutuhkan objek array tambahan.
this._events [type] = listener;
lain jika (util.isObject (this._events [type])))
// Jika kita sudah mendapatkan array, cukup tambahkan.
this._events [type] .push (pendengar);
kalau tidak
// Menambahkan elemen kedua, perlu diubah menjadi array.
this._events [type] = [this._events [type], listener];
// periksa kebocoran pendengar
if (util.isObject (this._events [type]) &&! this._events [type]. warned) {
var M;
if (! util.isundefined (this._maxlisteners)) {
m = this._maxlisteners;
} kalau tidak {
M = EventeMitter.DefaultMaxListeners;
}
if (m && m> 0 && this._events [type] .length> m) {
this._events [type]. Warned = true;
Console.Error ('(Node) Peringatan: Kemungkinan Memori Eventemitter' +
'Kebocoran terdeteksi. %D pendengar ditambahkan. ' +
'Gunakan emitter.setMaxListeners () untuk meningkatkan batas.',
this._events [type] .length);
console.trace ();
}
}
kembalikan ini;
};