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() 移除監聽事件/移除所有監聽的事件