VPN技术 · 2023年11月10日 0

Nodejs事件机制解析

Node.js 事件机制解析

Node.js 的事件处理机制

在使用计算机时,打开或关闭文件的操作都被视为一个事件。

例如,以下代码展示了如何在文件打开时触发事件:

var fs = require(‘fs’);
var rs = fs.createReadStream(‘./demofile.txt’);
rs.on(‘open’, function () {
console.log(‘文件已打开’);
});

在 Node.js 中,net.Server 对象会在新连接到来时触发事件,而 fs.ReadStream 则会在文件被打开时触发事件。同时,流对象会在数据可读取时触发相应事件。

createReadStream 方法通常用于处理大型文本文件,创建一个数据流以进行读取操作。这里的“大型文本文件”指的是文件体积超出缓存的大小,因而需要分批读取,每次读取都会触发 data 事件,而读取结束时会触发 end 事件。

Node.js 提供了专门的事件处理模型

首先,需要引入事件模块:

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

EventEmitter 对象

你可以自定义需要触发的事件,例如:

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

// 创建事件处理程序:
var myEventHandler = function () {
console.log(‘我听到尖叫声!’);
};

// 将事件处理程序分配给事件:
eventEmitter.on(‘scream’, myEventHandler);

// 触发 ‘scream’ 事件:
eventEmitter.emit(‘scream’);

[[[IMG_1]]]

[[[IMG_2]]]

[[[IMG_3]]]

[[[IMG_4]]]