1. 程式人生 > >【NodeJS】學習之EventEmitter

【NodeJS】學習之EventEmitter

1.first: 某一個事件
2.點on一次,就是為某個事件註冊一個 【事件監聽器】;
3.同一個事件,可以註冊多個事件監聽器;
4.當事件被觸發(emit)時,註冊到這個事件的所有事件監聽器會被依次呼叫,事件引數作為emit回撥函式的引數

程式碼:

//events: events模組
var events = require('events')

//EventEmitter: events模組的一個物件或類
//emitter:EventEmitter的例項
var emitter = new events.EventEmitter();

// first: 某一個事件
// 點on一次,就是為某個事件註冊一個 【事件監聽器】;
// 同一個事件,可以註冊多個事件監聽器;
// 當事件被觸發(emit)時,註冊到這個事件的所有事件監聽器會被依次呼叫,事件引數作為emit回撥函式的引數;
emitter.on('first', function (a, b) {
    console.log('listener1', a, b)
})
emitter.on('first', function (a, b) {
    console.log('listener2', a, b)
})
emitter.on('first', function (a, b) {
    console.log('listener3', a, b)
})

emitter.emit('first', '大寶', '二寶')
console.log('程式執行完畢')

列印結果:

E:\Math\nodeProject\firstDemo>node event.js
listener1 大寶 二寶
listener2 大寶 二寶
listener3 大寶 二寶
程式執行完畢