Node.js 事件
Node.js 非常适合事件驱动的应用程序。
Node.js 中的事件
计算机上的每个操作都是一个事件。例如,建立连接或打开文件。
Node.js 中的对象可以触发事件,例如,readStream 对象在打开和关闭文件时会触发事件
示例
var fs = require('fs');
var rs = fs.createReadStream('./demofile.txt');
rs.on('open', function () {
console.log('文件已打开');
});
运行示例 »
事件模块
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');
运行示例 »