本文实例讲述了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小时内与您取得联系。