从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例

 更新时间:2017年04月13日 14:15:49   作者:MIN飞翔  
这篇文章主要介绍了Node.js EventEmitter发送和接收事件的方法,结合实例形式分析了EventEmitter发送和接收事件的原理、实现方法与相关操作技巧,需要的朋友可以参考下

本文实例讲述了Node.js EventEmitter发送和接收事件的方法。分享给大家供大家参考,具体如下:

pulser.js

/*
 EventEmitter发送和接收事件
 HTTPServer和HTTPClient类,它们都继承自EventEmitter
 EventEmitter被定义在Node的事件(events)模块中,直接使用EventEmitter类需要先声明require('events'),
 否则不必显式声明require('events'),因为Node中很多对象都无需你调用require('events')就会使用EventEmitter
 */
var events = require('events');
var util = require('util');
function Pulser(){
  events.EventEmitter.call(this);
}
util.inherits(Pulser, events.EventEmitter);
Pulser.prototype.start = function(){
  var self = this;
  this.id = setInterval(function(){
    util.log('>>>>pulse');
    self.emit('pulse');
    util.log('<<<<pulse');
  }, 1000);
}
//定义了一个类Pulser,该类(通过util.inherits)继承自EventEmitter,它的作用是每隔一秒钟向所有监听器发送一个定时事件。
//start方法使用了setInterval这个函数来定期重复执行回调函数,并调用emit方法将pulse事件发送给每一个监听器
//使用Pulser对象
/*
创建了一个Pulser对象并处理其pulse事件,执行pulser.on('pulse'..)为pulse事件和回调函数建立联系
 */
var pulser = new Pulser();
pulser.on('pulse', function(){
  util.log('pulse received');
});
pulser.start();
//对象使用emit函数发送事件,所有注册到对应事件的监听器都可以收到事件;
//通过调用.on方法注册监听器,参数是事件名,并用一个回调函数接收事件
//通常来说,有一些数据需要伴随着事件同时发送 self.emit('eventName', data1, data2, ..);
//emitter.on('eventName', function(data1, data2,..){
    //接收到事件后的操作
// });

每秒输出一次

希望本文所述对大家nodejs程序设计有所帮助。

相关文章

  • Node.JS段点续传:Nginx配置文件分段下载功能的实现方法

    Node.JS段点续传:Nginx配置文件分段下载功能的实现方法

    在Node.JS中可以配置这个标签来实现文件的分段下载。这篇文章给大家介绍了Node.JS段点续传:Nginx配置文件分段下载功能的实现方法,需要的朋友参考下吧
    2018-03-03
  • node 解析图片二维码的内容代码实例

    node 解析图片二维码的内容代码实例

    这篇文章主要介绍了node 解析图片二维码的内容代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • Egret引擎开发指南之编译项目

    Egret引擎开发指南之编译项目

    Egret框架是一个基于MIT开源协议许可的永久免费的项目!你可以在项目中随意使用且修改它,并且拥有100%的控制权。你可以从Egret的Github网站获取它的源代码,从而了解和学习它的核心细节。Egret具有完善的文档,并且易于上手学习,可以让你更容易专注于游戏本身的开发
    2014-09-09
  • 进阶之初探nodeJS

    进阶之初探nodeJS

    本文主要介绍了nodeJS的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-01-01
  • 究竟什么是Node.js?Node.js有什么好处?

    究竟什么是Node.js?Node.js有什么好处?

    这篇文章主要介绍了究竟什么是Node.js?Node.js有什么好处?,为试图解释什么是 Node.js,本文将简要介绍一些背景信息:它要解决的问题,它如何工作,如何运行一个简单应用程序,最后,Node 在什么情况下是一个好的解决方案,需要的朋友可以参考下
    2015-05-05
  • npm install --save 、--save-dev 、-D、-S 的区别与NODE_ENV的配置方法

    npm install --save 、--save-dev 、-D、-S&nb

    这篇文章主要介绍了npm install --save 、--save-dev 、-D、-S 的区别与NODE_ENV的配置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • node命令以及切换node版本详细步骤

    node命令以及切换node版本详细步骤

    这篇文章主要给大家介绍了关于node命令以及切换node版本的相关资料,在使用node命令切换node版本时可以使用nvm(Node Version Manager)工具来管理不同版本的node,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • 使用forever管理nodejs应用教程

    使用forever管理nodejs应用教程

    这篇文章主要介绍了使用forever管理nodejs应用教程,本文介绍了forever的安装、常用命令等,最有用的莫过于文件改动监听并自动重启了,这可以增加开nodejs应用的效率,需要的朋友可以参考下
    2014-06-06
  • Node.js 使用request模块下载文件的实例

    Node.js 使用request模块下载文件的实例

    今天小编就为大家分享一篇Node.js 使用request模块下载文件的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-09-09
  • 从Node.js事件触发器到Vue自定义事件的深入讲解

    从Node.js事件触发器到Vue自定义事件的深入讲解

    这篇文章主要给大家介绍了关于从Node.js事件触发器到Vue自定义事件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-06-06

最新评论