从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例


Posted in Javascript onApril 13, 2017

本文实例讲述了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,..){
    //接收到事件后的操作
// });

从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例

每秒输出一次

希望本文所述对大家nodejs程序设计有所帮助。

Javascript 相关文章推荐
ext for eclipse插件安装方法
Apr 27 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
Jul 31 Javascript
JS、CSS以及img对DOMContentLoaded事件的影响
Aug 12 Javascript
JavaScript函数详解
Feb 27 Javascript
利用js编写网页进度条效果
Oct 08 Javascript
Bootstrap框架建立树形菜单(Tree)的实例代码
Oct 30 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
Jul 25 Javascript
使用vue开发移动端管理后台的注意事项
Mar 07 Javascript
vue大型项目之分模块运行/打包的实现
Sep 21 Javascript
ES11屡试不爽的新特性,你用上了几个
Oct 21 Javascript
解决antd 下拉框 input [defaultValue] 的值的问题
Oct 31 Javascript
详解angularJs指令的3种绑定策略
Apr 13 #Javascript
vue2实现移动端上传、预览、压缩图片解决拍照旋转问题
Apr 13 #Javascript
Vue组件tree实现树形菜单
Apr 13 #Javascript
从零开始学习Node.js系列教程五:服务器监听方法示例
Apr 13 #Javascript
Angularjs 动态添加指令并绑定事件的方法
Apr 13 #Javascript
从零开始学习Node.js系列教程四:多页面实现数学运算的client端和server端示例
Apr 13 #Javascript
JS传参及动态修改页面布局
Apr 13 #Javascript
You might like
深入了解PHP类Class的概念
2012/06/14 PHP
ThinkPHP中使用Ueditor富文本编辑器
2015/09/02 PHP
php实现留言板功能(会话控制)
2017/05/23 PHP
一个对于Array的简单扩展
2006/10/03 Javascript
javascript面向对象编程(一) 实例代码
2010/06/25 Javascript
jQuery EasyUI API 中文文档 - NumberSpinner数值微调器使用介绍
2011/10/21 Javascript
ie8模式下click无反应点击option无反应的解决方法
2014/10/11 Javascript
浅析jQuery事件之on()方法绑定多个选择器,多个事件
2016/04/27 Javascript
超实用的JavaScript代码段 附使用方法
2016/05/22 Javascript
Bootstrap幻灯片轮播图支持触屏左右手势滑动的实现方法
2016/10/13 Javascript
el表达式 写入bootstrap表格数据页面的实例代码
2017/01/11 Javascript
简单快速的实现js计算器功能
2017/08/17 Javascript
Vue2.2.0+新特性整理及注意事项
2018/08/22 Javascript
vue.js实现会动的简历(包含底部导航功能,编辑功能)
2019/04/08 Javascript
vue-路由精讲 二级路由和三级路由的作用
2020/08/06 Javascript
python抓取京东价格分析京东商品价格走势
2014/01/09 Python
介绍Python中的__future__模块
2015/04/27 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
python实现感知器算法(批处理)
2019/01/18 Python
简单介绍python封装的基本知识
2019/08/10 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
AVI-8手表美国官方商店:AVI-8 USA
2019/04/10 全球购物
结构和类有什么异同
2012/07/16 面试题
大学军训通讯稿
2014/01/13 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
党员一句话承诺大全
2014/03/28 职场文书
商场租赁意向书
2014/07/30 职场文书
授权委托书格式
2014/07/31 职场文书
4s店活动策划方案
2014/08/25 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/09/30 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
辛亥革命观后感
2015/06/02 职场文书
2016年元旦寄语
2015/08/17 职场文书
2016年情人节问候语
2015/11/11 职场文书