Node.js Events
Node.js 非常適合事件驅動型應用程式。
Node.js 中的事件
計算機上的每個操作都是一個事件。比如連線建立時或檔案開啟時。
Node.js 中的物件可以觸發事件,例如 readStream 物件在開啟和關閉檔案時會觸發事件
示例
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('檔案已開啟');
});
執行示例 »
Events 模組
Node.js 有一個內建模組,稱為“Events”,您可以在其中建立、觸發和監聽自己的事件。
要包含內建的 Events 模組,請使用 require()
方法。此外,所有事件屬性和方法都是 EventEmitter 物件的例項。要訪問這些屬性和方法,請建立一個 EventEmitter 物件
var events = require('events');
var eventEmitter = new events.EventEmitter();
EventEmitter 物件
您可以使用 EventEmitter 物件為自己的事件分配事件處理程式。
在下面的示例中,我們建立了一個函式,當觸發“scream”事件時將執行該函式。
要觸發事件,請使用 emit()
方法。
示例
var events = require('events');
var eventEmitter = new events.EventEmitter();
//建立事件處理程式
var myEventHandler = function () {
console.log('我聽到了尖叫聲!');
}
//為事件分配事件處理程式
eventEmitter.on('scream', myEventHandler);
//觸發 'scream' 事件
eventEmitter.emit('scream');
執行示例 »