全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

从零开始学习Node.js系列教程六: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  # EventEmitter  # 发送  # 接收  # 事件  # Node.js原理阻塞和EventEmitter及其继承的运用实战  # node.js如何自定义实现一个EventEmitter  # 关于Node.js的events.EventEmitter用法介绍  # node.js中的events.EventEmitter.listenerCount方法使用说明  # Node.js中的EventEmitter类使用小结  # 回调  # 就会  # 给大家  # 每隔  # 所述  # 程序设计  # 发送给  # 使用了  # 讲述了  # HTTPClient  # events  # brush  # HTTPServer  # var  # util  # require  # emitter  # js  # prototype 


相关文章: Bpmn 2.0的XML文件怎么画流程图  建站之星好吗?新手能否轻松上手建站?  如何在Ubuntu系统下快速搭建WordPress个人网站?  整蛊网站制作软件,手机不停的收到各种网站的验证码短信,是手机病毒还是人为恶搞?有这种手机病毒吗?  番禺网站制作公司哪家值得合作,番禺图书馆新馆开放了吗?  如何在服务器上三步完成建站并提升流量?  Swift开发中switch语句值绑定模式  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何在自有机房高效搭建专业网站?  制作网站的公司有哪些,做一个公司网站要多少钱?  红河网站制作公司,红河事业单位身份证如何上传?  建站之星安装失败:服务器环境不兼容?  制作表格网站有哪些,线上表格怎么弄?  建站之星手机一键生成:多端自适应+小程序开发快速建站指南  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  如何在Windows虚拟主机上快速搭建网站?  如何在橙子建站上传落地页?操作指南详解  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  建站主机数据库如何配置才能提升网站性能?  制作网站的基本流程,设计网站的软件是什么?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  ,在苏州找工作,上哪个网站比较好?  教程网站设计制作软件,怎么创建自己的一个网站?  网站制作企业,网站的banner和导航栏是指什么?  小程序网站制作需要准备什么资料,如何制作小程序?  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  学校为何禁止电信移动建设网站?  如何通过wdcp面板快速创建网站?  测试制作网站有哪些,测试性取向的权威测试或者网站?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  建站之星如何快速生成多端适配网站?  如何配置WinSCP新建站点的密钥验证步骤?  Java解压缩zip - 解压缩多个文件或文件夹实例  北京网站制作的公司有哪些,北京白云观官方网站?  北京制作网站的公司,北京铁路集团官方网站?  h5在线制作网站电脑版下载,h5网页制作软件?  TestNG的testng.xml配置文件怎么写  高性价比服务器租赁——企业级配置与24小时运维服务  简单实现Android验证码  建站主机选择指南:服务器配置与SEO优化实战技巧  如何在Golang中引入测试模块_Golang测试包导入与使用实践  如何做网站制作流程,*游戏网站怎么搭建?  专业网站制作企业网站,如何制作一个企业网站,建设网站的基本步骤有哪些?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  建站之星图片链接生成指南:自助建站与智能设计教程  湖北网站制作公司有哪些,湖北清能集团官网?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  兔展官网 在线制作,怎样制作微信请帖? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。