`
biyeah
  • 浏览: 203776 次
  • 来自: ...
社区版块
存档分类
最新评论

Nodejs中的EventEmitter

 
阅读更多
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

分享到:
评论

相关推荐

    nodejs中的events.EventEmitter例子

    使用setTimeout()延时执行

    EventEmitter:扩展的、跨平台的、向后兼容的 NodeJS 原生 EventEmitter 实现

    扩展的跨平台,obratnosovmestimaya实现模块标准库NodeJS 。 附加 API 旨在提高代码的可用性和可读性。 为此,引入了以下机制: ## 与原版的区别: 标准事件: EventEmitter.MAX_LISTENERS = 10 默认情况下事件处理...

    NodeJS应用开发自测试卷1.docx

    EventEmitter 对象是 NodeJS 中一个重要的对象,用于处理事件驱动的编程模型。EventEmitter 对象的方法包括 addListener(eventName, eventHandler)、on(eventName, eventHandler)、setMaxListeners(limit)等。...

    NodeJS中文文档

    `EventEmitter`是NodeJS中处理异步操作的核心模式,允许对象订阅事件并在事件发生时接收通知。这种机制广泛应用于网络通信、文件系统操作等领域,通过事件驱动模型提高了NodeJS的性能和响应速度。 #### 六、流...

    tiny-typed-emitter:完全类型检查的 NodeJS EventEmitter

    微型发射器 让您的事件及其侦听器在的情况下进行类型检查。 安装 只需使用npm添加依赖项: $ npm i tiny-typed-emitter 或使用纱线: $ yarn add tiny-typed-emitter ... 定义扩展EventEmitter的自定义类: clas

    nodejs中文文档.pdf

    **EventEmitter** 是Node.js中的一个核心模块,它提供了事件驱动的机制。在Node.js中,许多对象都是EventEmitter的实例,比如HTTP服务器和客户端。通过监听和触发事件,开发者可以实现异步编程,提高代码的可读性...

    nodejs中文帮助文档

    EventEmitter(事件触发器)是Node.js中非常重要的一个模块。它是很多Node.js模块的基石,它实现了事件监听和触发模式。开发者可以为各种事件绑定回调函数,当事件被触发时,回调函数就会被执行。 Streams(流)是...

    一个前端工程师眼里的NodeJS.docx

    这是通过事件循环和回调函数实现的,NodeJS中的EventEmitter类是这一机制的重要组成部分。 尽管如此,对于CPU密集型的任务,NodeJS的单线程模型可能会成为瓶颈,因为它不能充分利用多核CPU的优势。为了克服这个问题...

    nodejs手册中文版

    - **events.EventEmitter**:事件发射器类,用于实现事件监听和触发机制。 - **emitter.addListener(event, listener)**:添加一个事件监听器。 - **emitter.on(event, listener)**:同上。 - **emitter.once...

    eventemitter3:EventEmitter3-因为还有数字2,所以我们更快

    EventEmitter3 EventEmitter3是高性能的EventEmitter。... newListener和removeListener事件已删除,因为它们仅在某些不常见的用例中有用。 setMaxListeners , getMaxListeners , prependListener和prependOn

    :mega:Go编程语言的纯nodejs EventEmmiter。-Golang开发

    受Nodejs EventEmitter的启发。 概述New()EventEmmiter // New返回一个新的空EventEmmiter // AddListener是.On(eventName,listener)的别名。 用于Go编程语言的广告简单EventEmmiter。 受Nodejs EventEmitter的...

    nodejs中文手册

    EventEmitter类是事件处理的核心,它定义了添加监听器、触发事件和移除监听器的方法。理解事件驱动模型对于编写高效的异步代码至关重要。 3. **模块系统**:Node.js的模块系统支持CommonJS规范,通过require函数...

    eventemitter4:辩论还在继续。 EventEmitter4 是节点内置 EventEmitter 类的替代品,以及现有替代品 EventEmitter2 和 EventEmitter3 的替代品,这将使您自己的代码更易于调试

    #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

    nodejs中文帮助文档.pdf

    - **定义**: EventEmitter是Node.js中的核心类之一,用于处理事件驱动编程模式。通过继承`events.EventEmitter`类,可以自定义事件的触发和监听。 - **常用方法**: - `emitter.on(event, listener)`: 注册事件...

    Node.js-Nodejs中文基础教程

    这个"Node.js-Nodejs中文基础教程"应该是为初学者设计的一份详尽的学习资源,旨在帮助大家掌握 Node.js 的基础知识和核心概念。 1. **异步编程**:Node.js 的一大特色是其非阻塞I/O模型,这使得它在处理大量并发...

    nodejs高级编程源码

    通过EventEmitter类,开发者可以创建事件发射器,并监听特定的事件。例如,文件读写、HTTP请求等操作都是异步的,完成时会触发相应的事件。 2. **非阻塞I/O**:Node.js使用单线程模型处理I/O操作,通过异步回调和...

    Nodejs中自定义事件实例

    首先,Node.js中的事件模块(events模块)提供了一个名为`EventEmitter`的类,它是所有事件相关的操作的基础。要创建自定义事件,我们需要做的是继承`EventEmitter`类,并利用Node.js提供的`util`模块的`inherits`...

    Nodejs最新API文档

    在"Nodejs最新API文档"中,我们可以找到关于Node.js 4.0版本的所有官方API接口及其用法。这个版本是Node.js发展中的一个重要里程碑,引入了许多改进和新特性,旨在提升性能和稳定性。以下是一些关键的知识点: 1. *...

Global site tag (gtag.js) - Google Analytics