从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例
发布时间 - 2026-01-11 00:38:42 点击率:次本文实例讲述了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
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JS碰撞运动实现方法详解
大型企业网站制作流程,做网站需要注册公司吗?
详解阿里云nginx服务器多站点的配置
浏览器如何快速切换搜索引擎_在地址栏使用不同搜索引擎【搜索】
Firefox Developer Edition开发者版本入口
iOS验证手机号的正则表达式
电商网站制作价格怎么算,网上拍卖流程以及规则?
Python文本处理实践_日志清洗解析【指导】
Javascript中的事件循环是如何工作的_如何利用Javascript事件循环优化异步代码?
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
微信小程序 input输入框控件详解及实例(多种示例)
如何用PHP快速搭建高效网站?分步指南
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
jQuery中的100个技巧汇总
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
微信小程序制作网站有哪些,微信小程序需要做网站吗?
无锡营销型网站制作公司,无锡网选车牌流程?
Laravel Telescope怎么调试_使用Laravel Telescope进行应用监控与调试
如何在新浪SAE免费搭建个人博客?
Windows10如何更改计算机工作组_Win10系统属性修改Workgroup
HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】
Laravel广播系统如何实现实时通信_Laravel Reverb与WebSockets实战教程
laravel服务容器和依赖注入怎么理解_laravel服务容器与依赖注入解析
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
javascript读取文本节点方法小结
Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门
如何在IIS中新建站点并配置端口与物理路径?
如何用美橙互联一键搭建多站合一网站?
php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】
谷歌Google入口永久地址_Google搜索引擎官网首页永久入口
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Laravel如何使用Blade组件和插槽?(Component代码示例)
Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧
如何在HTML表单中获取用户输入并结合JavaScript动态控制复利计算循环
JavaScript实现Fly Bird小游戏
如何在云指建站中生成FTP站点?
如何自定义建站之星模板颜色并下载新样式?
湖南网站制作公司,湖南上善若水科技有限公司做什么的?
网站制作壁纸教程视频,电脑壁纸网站?
HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层
Laravel怎么实现模型属性的自动加密
如何在七牛云存储上搭建网站并设置自定义域名?
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?
制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
详解Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
如何正确选择百度移动适配建站域名?

