W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
事件命名方式使用大小寫分隔的風格。例如:'stream', 'data', 'messageBegin'。 可以將函數(shù)注冊給對象,使其在事件觸發(fā)時執(zhí)行, 此類函數(shù)被稱作‘監(jiān)聽器‘。
通過調(diào)用require('events').EventEmitter, 我們可以使用EventEmitter(事件觸發(fā)器)類。 當向EventEmitters(事件觸發(fā)器)對象上注冊新的時間監(jiān)聽器時,都會觸發(fā)'newListener'事件。 當事件觸發(fā)器過程中出現(xiàn)錯誤時,典型的處理方式是它將觸發(fā)一個'error'事件。Error 事件的特殊性在于:如果 沒有函數(shù)處理這個事件,它將會輸出調(diào)用堆棧,并隨之退出應用程序。
Event: 'newListener'
function (event, listener) { }
該事件在添加新監(jiān)聽器時被觸發(fā)。
Event: 'error'
function (exception) { }
如果發(fā)生錯誤,'error'事件將會被觸發(fā)。這是一個特殊事件,如果沒有相應的監(jiān)聽函數(shù)監(jiān)聽這個事件, node 將 會結(jié)束應用程序的執(zhí)行并顯示異常堆棧。
emitter.on(event, listener)
向指定的事件監(jiān)聽器數(shù)組尾部添加一個新監(jiān)聽器。
server.on('stream', function (stream) {
console.log('someone connected!');
});
emitter.removeListener(event, listener)
從指定監(jiān)聽器數(shù)組中刪除一個監(jiān)聽器。需要注意的是,此操作將會改變處于被刪監(jiān)聽器之后的那些監(jiān)聽器的索 引。
var callback = function(stream) {
console.log('someone connected!');
};
server.on('stream', callback);
// ...
server.removeListener('stream', callback);
emitter.removeAllListeners(event)
刪除指定事件的所有監(jiān)聽器。
emitter.listeners(event)
返回指定事件的監(jiān)聽器數(shù)組。你可以操作數(shù)組的內(nèi)容,比如說刪除一個監(jiān)聽器。
server.on('stream', function (stream) {
console.log('someone connected!');
});
console.log(sys.inspect(server.listeners('stream'));
// [ [Function] ]
emitter.emit(event, [arg1], [arg2], [...])
使用所提供的參數(shù),依次執(zhí)行事件監(jiān)聽器數(shù)組中的每一個監(jiān)聽函數(shù)。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: