• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >JavaScript > 从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例

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

作者:MIN飞翔 字体:[增加 减小] 来源:互联网 时间:2017-05-11

MIN飞翔通过本文主要向大家介绍了从零开始学习Node.js系列教程六:EventEmitter发送和接收事件的方法示例等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

</div>

每秒输出一次

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

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

相关文章

  • 2017-05-11js实现文字选中分享功能
  • 2017-05-11使用vue.js实现联动效果的示例代码
  • 2017-05-11jQuery实现导航回弹效果
  • 2017-05-11JS对象的深度克隆方法示例
  • 2017-05-11.net MVC+Bootstrap下使用localResizeIMG上传图片
  • 2017-05-11JS实现根据密码长度显示安全条功能
  • 2017-09-05js设计模式-- 装饰着模式
  • 2017-05-11jquery mobile实现可折叠的导航按钮
  • 2017-05-11Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
  • 2017-05-11详解webpack 配合babel 将es6转成es5 超简单实例

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 微信小程序 支付简单实例及注意事项
    • Vue开发中整合axios的文件整理
    • JS中如何实现点击a标签返回页面顶部的问题
    • jQuery实现单击按钮遮罩弹出对话框效果(1)
    • Javascript Event(事件)的传播与冒泡
    • js闭包缓存
    • AngularJS中update两次出现$promise属性无法识别的解决方法
    • vue中如何引入jQuery和Bootstrap
    • JS实现css hover操作的方法示例
    • Vue2.0实现1.0的搜索过滤器功能实例代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有