demo的實例引用自:http://www.runoob.com/nodejs/nodejs-event.html,
官方文檔:https://nodejs.org/dist/latest-v6.x/docs/api/events.html#events_emitter_listenercount_eventname
中文文檔:http://nodeapi.ucdok.com/api/events.html
1 // http://www.runoob.com/nodejs/nodejs-event.html 2 3 //導入events模塊 4 var events = require('events'); 5 // 創建 EventEmitter對象 6 var eventEmitter = new events.EventEmitter(); 7 8 // 監聽器 #1 9 var listener1 = function listener1() { 10 console.log('監聽器 listener1 執行。'); 11 } 12 13 // 監聽器 #2 14 var listener2 = function listener2() { 15 console.log('監聽器 listener2 執行。'); 16 } 17 18 // 綁定 connection 事件,處理函數為 listener1 19 eventEmitter.addListener('connection', listener1); 20 21 // 綁定 connection 事件,處理函數為 listener2 22 eventEmitter.on('connection', listener2); 23 //emitter.listenerCount(eventName) Returns the number of listeners listening to the event named eventName. 24 //下面這個方法已經棄用了(下面這個方法相當於jquery中的工具方法,相當於java中的靜態方法),可以用eventEmitter.listenerCount('connection')來代替 25 var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection'); 26 console.log(eventListeners + " 個監聽器監聽連接事件。"); 27 //根據官方的提供的方法來進行操作 https://nodejs.org/dist/latest-v6.x/docs/api/events.html#events_emitter_listenercount_eventname 28 var all_listeners = eventEmitter.listenerCount('connection'); 29 console.log("wyl 一共有"+all_listeners+"個監聽器"); 30 31 // 處理 connection 事件 32 eventEmitter.emit('connection'); 33 34 // 移除監綁定的 listener1 函數 35 eventEmitter.removeListener('connection', listener1); 36 console.log("listener1 不再受監聽。"); 37 38 // 觸發連接事件 39 eventEmitter.emit('connection'); 40 41 eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection'); 42 console.log(eventListeners + " 個監聽器監聽連接事件。"); 43 44 console.log("程序執行完畢。");