Nodejs Events事件

Nodejs有一个非常完美的事件处理过程

每次我们用计算机打开或者关闭一个文件都是一个事件

[php]

var fs = require(‘fs’);
var rs = fs.createReadStream(‘./demofile.txt’);
rs.on(‘open’, function () {
console.log(‘The file is open’);
});

[/php]

例如,net.Server 对象会在每次有新连接时触发事件;fs.ReadStream 会在文件被打开时触发事件;流对象 会在数据可读时触发事件

createReadStream方法往往用于打开大型的文本文件,创建一个读取操作的数据流。所谓大型文本文件,指的是文本文件的体积很大,读取操作的缓存装不下,只能分成几次发送,每次发送会触发一个data事件,发送结束会触发end事件。

Nodejs有专门的模型来进行事件处理

先引用事件模块

[php]

var events = require(‘events’);
var eventEmitter = new events.EventEmitter();

[/php]

EventEmitter Object

可以自己设定要触发的事件,比如

[php]

var events = require(‘events’);
var eventEmitter = new events.EventEmitter();

//Create an event handler:
var myEventHandler = function () {
console.log(‘I hear a scream!’);
}

//Assign the event handler to an event:
eventEmitter.on(‘scream’, myEventHandler);

//Fire the ‘scream’ event:
eventEmitter.emit(‘scream’);

[/php]

 

 

 

 

zh-CN Chinese (Simplified)
X
free_banner