从零开始学习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 相关文章推荐
返回顶部按钮响应滚动且动态显示与隐藏
Oct 14 Javascript
JavaScript导出Excel实例详解
Nov 25 Javascript
一款基于jQuery的图片场景标注提示弹窗特效
Jan 05 Javascript
jquery动态添加删除(tr/td)
Feb 09 Javascript
window.location.reload 刷新使用分析(去对话框)
Nov 11 Javascript
jQuery Validate表单验证入门学习
Dec 18 Javascript
简单实现jQuery多选框功能
Jan 09 Javascript
vue的无缝滚动组件vue-seamless-scroll实例
Dec 18 Javascript
JavaScript生成指定范围随机数和随机序列的方法
May 05 Javascript
js如何获取图片url的Blob值并预览示例代码
Mar 07 Javascript
angular 服务随记小结
May 06 Javascript
jQuery实现点击滚动到指定元素上的方法分析
Mar 19 jQuery
详解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获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
2013/06/18 PHP
PHP中的排序函数sort、asort、rsort、krsort、ksort区别分析
2014/08/18 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
PHP中error_reporting()用法详解
2015/08/31 PHP
关于图片验证码设计的思考
2007/01/29 Javascript
iframe子父页面调用js函数示例
2013/11/07 Javascript
浅谈JavaScript字符集
2014/05/22 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
JavaScript根据CSS的Media Queries来判断浏览设备的方法
2016/05/10 Javascript
JavaScript计时器用法分析【setTimeout和clearTimeout】
2017/01/18 Javascript
vue组件实现文字居中对齐的方法
2017/08/23 Javascript
VueJs 搭建Axios接口请求工具
2017/11/20 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
layer.confirm取消按钮绑定事件的方法
2018/08/17 Javascript
小程序云开发如何实现图片上传及发表文字
2019/05/17 Javascript
前端插件之Bootstrap Dual Listbox使用教程
2019/07/23 Javascript
jQuery zTree树插件的使用教程
2019/08/16 jQuery
JS实现排行榜文字向上滚动轮播效果
2019/11/26 Javascript
微信小程序个人中心的列表控件实现代码
2020/04/26 Javascript
javascript实现前端input密码输入强度验证
2020/06/24 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
Python的Twisted框架上手前所必须了解的异步编程思想
2016/05/25 Python
python非递归全排列实现方法
2017/04/10 Python
python按行读取文件并找出其中指定字符串
2019/08/08 Python
Anaconda详细安装步骤图文教程
2020/11/12 Python
HTML5 canvas基本绘图之绘制阴影效果
2016/06/27 HTML / CSS
elf彩妆英国官网:e.l.f. Cosmetics英国(美国平价彩妆品牌)
2017/11/02 全球购物
继电保护工岗位职责
2014/01/05 职场文书
大一学生的职业生涯规划书范文
2014/01/19 职场文书
学生打架检讨书大全
2014/01/23 职场文书
大学同学十年聚会感言
2014/02/21 职场文书
中式婚礼主持词
2014/03/13 职场文书
庆祝国庆节演讲稿2014
2014/09/19 职场文书
基层党员四风问题自我剖析材料
2014/09/29 职场文书
MySQL中IF()、IFNULL()、NULLIF()、ISNULL()函数的使用详解
2021/06/26 MySQL
Spring中bean的生命周期之getSingleton方法
2021/06/30 Java/Android