關於EventEmitter的用法

EventEmitter的基本用法:

1 var EventEmitter = require("events").EventEmitter;
2 var ee = new EventEmitter();
3 ee.on("someEvent", function () {
4     console.log("event has occured");
5 });
6  
7 ee.emit("someEvent");

 

 

emit方法可以觸發多個同樣的事件,比如我們的頁面中綁定了多個同樣的someEven事件。

ee.on("someEvent", function () { console.log("event 1"); });
ee.on("someEvent", function () { console.log("event 2"); });
ee.on("someEvent", function () { console.log("event 3"); });
ee.on("someEvent", function () { console.log("event 4"); });
ee.on("someEvent", function () { console.log("event 5"); });
ee.on("someEvent", function () { console.log("event 6"); });
ee.on("someEvent", function () { console.log("event 7"); });
ee.on("someEvent", function () { console.log("event 8"); });
ee.on("someEvent", function () { console.log("event 9"); });
ee.on("someEvent", function () { console.log("event 10"); });
ee.on("someEvent", function () { console.log("event 11"); });
 
ee.emit("someEvent");

 

上面綁定的11個someEvent事件都會觸發,但是控制檯會有一條警告,因爲事件對象默認監聽的事件數量是10個,我們可以通過代碼設置改變這個數值,例如:

 

1 ee.setMaxListeners(20);

事件對象還有其他方法:

1,once()監聽一次

2,removeListener , removeAllListeners() 移除監聽事件/移除所有監聽的事件

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章