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