宝哥软件园

从头开始学习Node.js系列教程VI:event emitter发送和接收事件的方法示例

编辑:宝哥软件园 来源:互联网 时间:2021-09-05

本文中,一个例子讲述了Node.js EventEmitter发送和接收事件的方法,分享给大家参考,如下所示:

pulser.js

/* EventEmitter发送和接收事件HTTPServer和HTTPClient类,这两个类都继承自EventEmitter EventEmitter是在Node的事件模块中定义的。要直接使用EventEmitter类,需要声明require('events ')。否则,您不必显式声明require('events '),因为Node中的许多对象将使用event emitter */varevents=require(' events '),而无需调用require(' events ');var util=require(' util ');函数Pulser(){ events。event emitter . call(this);}util.inherits(Pulser,events。event emitter);pulser . prototype . start=function(){ var self=this;this . id=SetInterval(function(){ util . log(' pulse '));自发射(“脉冲”);util . log(' pulse ');}, 1000);}//定义了一个Pulser类,继承自EventEmitter(通过util.inherits),它的功能是每秒向所有监听器发送一个定时事件。//start方法使用setInterval函数定期重复执行回调函数,调用emit方法将pulse事件发送给每个监听器//创建Pulser对象并处理其pulse事件,执行Pulser。开启('脉冲'.)在pulse事件和回调函数之间建立连接*/var Pulser=new Pulser();pulser.on('pulse ',function(){ util . log(' pulse received ');});pulser . start();//对象使用emit函数发送事件,所有注册到对应事件的监听器都可以接收事件;//通过调用。在方法上,参数是事件名称,并使用回调函数接收事件。//一般来说,有些数据是需要随事件一起发送的,比如self。发出('事件名称',数据1,数据2,);//发射器。on('事件名称',函数(data1,data2,){//收到事件后的操作//});

每秒输出一次

希望本文对nodejs程序的设计有所帮助。

更多资讯
游戏推荐
更多+