VPN技术 · 2023年11月10日

Nodejs事件机制

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]

 

 

 

 

OpenMagic API

Need more than content? Move into the product flow.

If you are here for model access, pricing, developer docs, or the future API console, the dedicated product path now lives on api.openmagic.ai.