当前位置:首页 > 日记 > 正文

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

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

本文实例讲述了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程序设计有所帮助。

相关文章

Excel2007中表格列序号字母改为数

Excel2007中表格列序号字母改为数

数字,操作方法,中表,序号,字母,  怎么把excel表格内列的序号由默认的字母改为数字,该怎么具体去操作的呢?今天,小编就教大家在Excel2007中表格列序号字母改为数字的操作方法。Excel2007中表格列序号字母改为数字的操作步骤把开一个excel表…

JS 实现banner轮播效果 | 鼠标事件

JS 实现banner轮播效果 | 鼠标事件

鼠标事件,效果,电脑软件,JS,banner,一.要实现的效果1.点击左右可切换图片2.点击小圆点 可切换图片二.效果图三.代码1.css<style type="text/css">body,img,span,ul,li{margin: 0;padding: 0;}#div1{width: 600px;height: 350px;margin: 1…

qq空间花藤怎么换回旧版图解教程

qq空间花藤怎么换回旧版图解教程

空间,旧版,教程,步骤,换回,  或许你感觉qq空间里老版本的花藤更好看,但是又不知道怎么变回来qq空间花藤在哪?QQ空间花藤如何升级快?qq空间花藤怎么换回旧版?今天小编给你分享一下qq空间花藤换回旧版的方法教程及qq空间花藤的升级方法,欢迎阅读…

详解JavaScript数组过滤相同元素的

详解JavaScript数组过滤相同元素的

元素,数组,过滤,种方法,详解,方法一:比较内层循环变量的值.var arr = [1, 2, 3, 1, 3, 4, 5, 5];var resultArr = [];for (i = 0; i < arr.length; i++) { for (j = 0; j < resultArr.length; j++) { if (resultArr[j] == arr[i]) { …

React-router v4 路由配置方法小结

React-router v4 路由配置方法小结

方法,路由配置,电脑软件,React,router,本文主要介绍了React-router v4 路由配置方法小结,分享给大家,也给自己留个笔记一. Switch 、Router 、Route三者的区别1、RouteRoute 是建立location 和 ui的最直接联系2、Routerreact-router v4 中,Rou…

使用canvas及js简单生成验证码方法

使用canvas及js简单生成验证码方法

方法,验证码,简单,电脑软件,canvas,在很多时候都需要用到验证码,前端验证码需要知道Html5中的canvas知识点。验证码生成步骤是:1.生成一张画布canvas2.生成随机数验证码 3.在画布中生成干扰线 4.把验证码文本填充到画布中 5.点击画布更换验证…

JavaScript数组push方法使用注意事

JavaScript数组push方法使用注意事

方法,数组,注意事项,电脑软件,JavaScript,js 数组的push方法,想必大家都知道是向数组末尾添加元素,但是有一个很关键的点需注意:引自 MDN返回值当调用该方法时,新的 length 属性值将被返回。var sports = ["soccer", "baseball"];var total…

word设置纸张大小的两种方法

word设置纸张大小的两种方法

方法,设置,纸张,大小,两种,  办公经常学要调节纸张大小,虽然常用,但偶尔还是会忘记如何调整纸张大小的方法,那么下面就由小编给大家分享下word设置纸张大小的技巧,希望能帮助到您。word设置纸张大小方法一步骤一:打开word软件,点击桌面快捷图标…

excel2010背景大小如何调整

excel2010背景大小如何调整

调整,教程,方法,显示,设置,  在excel中插图背景图片的时候,往往会因为图片太大或太小不合我们心意,要如何才能够调整过来呢。下面让小编为你带来excel2010设置背景大小的方法,希望对你有帮助!excel背景大小的设置方法方法一、直接缩小图像在e…

AI结合c4d设计三维立体文字和图案

AI结合c4d设计三维立体文字和图案

详细教程,文字,图案,三维立体,电脑软件,ai和c4d怎么将平面的文字快速转换成3维的立体效果呢?下面我们就来看看详细的教程,很简单,感兴趣的朋友可以进来参考一下。软件名称:Adobe Illustrator CS6 (AI cs6) 精简绿色中文版(32位+64位)软件大小:20…

mac版微信账号登录方法

mac版微信账号登录方法

登录,方法,账号,电脑软件,mac,  Mac微信是腾讯的一款mac端的微信辅助软件,您可以通过登录mac微信来收取微信信息,不用频繁地查看手机信息,那么微信mac版怎么登录呢?下面就跟小编来了解一下吧!mac版微信账号登录方法  首先,您需要在电脑中下…

word2010设置页码的两种方法word20

word2010设置页码的两种方法word20

设置,方法,页码,两种,电脑软件,  我们编辑好一个word2010文档,如果需要插入页码,或者需要编辑目录,那么一定需要插入页码,那么下面就由小编给大家分享下word2010设置页码的技巧,希望能帮助到您。word2010设置页码方法一步骤一:打开或者新建一个…