EventEmitter是nodejs核心的一部分。很多nodejs对象继承自EventEmitter,用来处理事件,及回调。来看API中的例子
var util = require("util");
var events = require("events");//EventEmitter通过events模块来访问
function MyStream() {//新建一个类
events.EventEmitter.call(this);
}
util.inherits(MyStream, events.EventEmitter);//使这个类继承EventEmitter
MyStream.prototype.write = function(data) {//定义一个新方法
this.emit("data", data);//在此触发名为"data"事件
}
var stream = new MyStream();
stream.on("data", function(data) {//注册监听器,监听名为"data"事件
console.log('Received data: "' + data + '"');
})
stream.write("It works!"); // Received data: "It works!"
可看出通过继承EventEmitter可为对象注册和触发相关事件。
可与Ruby做个比较,通过block来实现。
class MyStream
def write(data)
yield data
end
end
stream = MyStream.new
stream.write('It works!') do |data|
puts "Received data: #{data}"
end
分享到:
相关推荐
使用setTimeout()延时执行
扩展的跨平台,obratnosovmestimaya实现模块标准库NodeJS 。 附加 API 旨在提高代码的可用性和可读性。 为此,引入了以下机制: ## 与原版的区别: 标准事件: EventEmitter.MAX_LISTENERS = 10 默认情况下事件处理...
EventEmitter 对象是 NodeJS 中一个重要的对象,用于处理事件驱动的编程模型。EventEmitter 对象的方法包括 addListener(eventName, eventHandler)、on(eventName, eventHandler)、setMaxListeners(limit)等。...
`EventEmitter`是NodeJS中处理异步操作的核心模式,允许对象订阅事件并在事件发生时接收通知。这种机制广泛应用于网络通信、文件系统操作等领域,通过事件驱动模型提高了NodeJS的性能和响应速度。 #### 六、流...
微型发射器 让您的事件及其侦听器在的情况下进行类型检查。 安装 只需使用npm添加依赖项: $ npm i tiny-typed-emitter 或使用纱线: $ yarn add tiny-typed-emitter ... 定义扩展EventEmitter的自定义类: clas
**EventEmitter** 是Node.js中的一个核心模块,它提供了事件驱动的机制。在Node.js中,许多对象都是EventEmitter的实例,比如HTTP服务器和客户端。通过监听和触发事件,开发者可以实现异步编程,提高代码的可读性...
EventEmitter(事件触发器)是Node.js中非常重要的一个模块。它是很多Node.js模块的基石,它实现了事件监听和触发模式。开发者可以为各种事件绑定回调函数,当事件被触发时,回调函数就会被执行。 Streams(流)是...
这是通过事件循环和回调函数实现的,NodeJS中的EventEmitter类是这一机制的重要组成部分。 尽管如此,对于CPU密集型的任务,NodeJS的单线程模型可能会成为瓶颈,因为它不能充分利用多核CPU的优势。为了克服这个问题...
- **events.EventEmitter**:事件发射器类,用于实现事件监听和触发机制。 - **emitter.addListener(event, listener)**:添加一个事件监听器。 - **emitter.on(event, listener)**:同上。 - **emitter.once...
EventEmitter3 EventEmitter3是高性能的EventEmitter。... newListener和removeListener事件已删除,因为它们仅在某些不常见的用例中有用。 setMaxListeners , getMaxListeners , prependListener和prependOn
受Nodejs EventEmitter的启发。 概述New()EventEmmiter // New返回一个新的空EventEmmiter // AddListener是.On(eventName,listener)的别名。 用于Go编程语言的广告简单EventEmmiter。 受Nodejs EventEmitter的...
EventEmitter类是事件处理的核心,它定义了添加监听器、触发事件和移除监听器的方法。理解事件驱动模型对于编写高效的异步代码至关重要。 3. **模块系统**:Node.js的模块系统支持CommonJS规范,通过require函数...
#EventEmitter4 1.2.3.4.4.1. 4.2. 4.3. 4.4. 4.5. 4.6. 4.7. 4.8. 5....为什么是 EventEmitter... 为什么不是标准的 nodejs EventEmitter 9.5. 为什么不是 EventEmitter2 9.6. 为什么不是 EventEmitter3 10.联系方式10.1
- **定义**: EventEmitter是Node.js中的核心类之一,用于处理事件驱动编程模式。通过继承`events.EventEmitter`类,可以自定义事件的触发和监听。 - **常用方法**: - `emitter.on(event, listener)`: 注册事件...
这个"Node.js-Nodejs中文基础教程"应该是为初学者设计的一份详尽的学习资源,旨在帮助大家掌握 Node.js 的基础知识和核心概念。 1. **异步编程**:Node.js 的一大特色是其非阻塞I/O模型,这使得它在处理大量并发...
通过EventEmitter类,开发者可以创建事件发射器,并监听特定的事件。例如,文件读写、HTTP请求等操作都是异步的,完成时会触发相应的事件。 2. **非阻塞I/O**:Node.js使用单线程模型处理I/O操作,通过异步回调和...
首先,Node.js中的事件模块(events模块)提供了一个名为`EventEmitter`的类,它是所有事件相关的操作的基础。要创建自定义事件,我们需要做的是继承`EventEmitter`类,并利用Node.js提供的`util`模块的`inherits`...
在"Nodejs最新API文档"中,我们可以找到关于Node.js 4.0版本的所有官方API接口及其用法。这个版本是Node.js发展中的一个重要里程碑,引入了许多改进和新特性,旨在提升性能和稳定性。以下是一些关键的知识点: 1. *...