全网整合营销服务商

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

免费咨询热线: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 


相关文章: 电商网站制作公司有哪些,1688网是什么意思?  简历在线制作网站免费版,如何创建个人简历?  如何在橙子建站中快速调整背景颜色?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  如何获取上海专业网站定制建站电话?  网站制作说明怎么写,简述网页设计的流程并说明原因?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何通过云梦建站系统实现SEO快速优化?  c++怎么用jemalloc c++替换默认内存分配器【性能】  如何在七牛云存储上搭建网站并设置自定义域名?  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  大连 网站制作,大连天途有线官网?  攀枝花网站建设,攀枝花营业执照网上怎么年审?  如何制作一个表白网站视频,关于勇敢表白的小标题?  免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  c++ stringstream用法详解_c++字符串与数字转换利器  如何在Windows虚拟主机上快速搭建网站?  新网站制作渠道有哪些,跪求一个无线渠道比较强的小说网站,我要发表小说?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  Android滚轮选择时间控件使用详解  Thinkphp 中 distinct 的用法解析  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  php条件判断怎么写_ifelse和switchcase的使用区别【对比】  建站之星伪静态规则如何正确配置?  一键网站制作软件,义乌购一件代发流程?  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  如何续费美橙建站之星域名及服务?  香港服务器租用每月最低只需15元?  南京网站制作费用,南京远驱官方网站?  C++中的Pimpl idiom是什么,有什么好处?(隐藏实现)  代刷网站制作软件,别人代刷火车票靠谱吗?  建站之星好吗?新手能否轻松上手建站?  网站制作公司排行榜,抖音怎样做个人官方网站  如何通过智能用户系统一键生成高效建站方案?  制作网站的软件免费下载,免费制作app哪个平台好?  如何获取开源自助建站系统免费下载链接?  威客平台建站流程解析:高效搭建教程与设计优化方案  建站之星24小时客服电话如何获取?  ,网页ppt怎么弄成自己的ppt?  网站制作免费,什么网站能看正片电影?  济南网站制作的价格,历城一职专官方网站?  如何在云主机快速搭建网站站点?  活动邀请函制作网站有哪些,活动邀请函文案?  图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?  内部网站制作流程,如何建立公司内部网站?  建站之星如何保障用户数据免受黑客入侵?  c# Task.ConfigureAwait(true) 在什么场景下是必须的  儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】 

您的项目需求

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