nodejs事件的监听与触发的理解分析


Posted in NodeJs onFebruary 12, 2015

本文实例分析了nodejs事件的监听与触发。分享给大家供大家参考。具体分析如下:

关于nodejs的事件驱动,看了《nodejs深入浅出》还是没看明白(可能写的有点深,或者自己理解能力不够好),今日在图灵社区看到一篇关于nodejs事件的监听与触发,由于给出的例子比较多人,很容易理解,所以也大致明白了nodejs事件驱动。

以下内容参考了图灵社区的文章(地址:http://www.ituring.com.cn/article/177478)

首先来了解一下nodejs的Event模块:

Node.js中大部分的模块,都继承自Event模块。Event模块(events.EventEmitter)是一个简单的事件监听器模式的实现类。它的对象具有addListener,on,once,removeListener,removeAllListeners,emit等基本的事件监听模式的方法实现。

首先看一个例子:

var events = require("events");
var emitter = new events.EventEmitter();//创建了事件监听器的一个对象
// 监听事件some_event
emitter.on("some_event", function(){
  console.log("事件触发,调用此回调函数");
});
setTimeout(function(){
  emitter.emit("some_event");   //触发事件some_event
},3000);

看到这个例子,就让我想起了jQuery的自定义事件:

//给element绑定hello事件
element.on("hello",function(){
  alert("hello world!");
});
//触发hello事件
element.trigger("hello");

这样一对比就很容易理解nodejs的事件的监听与触发了。emit 就相当于 jQuery 中的 trigger 触发事件。

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

NodeJs 相关文章推荐
nodejs的10个性能优化技巧
Jul 15 NodeJs
Nodejs学习笔记之Stream模块
Jan 13 NodeJs
nodejs中的fiber(纤程)库详解
Mar 24 NodeJs
实例详解Nodejs 保存 payload 发送过来的文件
Jan 14 NodeJs
学习 NodeJS 第八天:Socket 通讯实例
Dec 21 NodeJs
NodeJS测试框架mocha入门教程
Mar 28 NodeJs
nodejs+mongodb aggregate级联查询操作示例
Mar 17 NodeJs
基于Nodejs的Tcp封包和解包的理解
Sep 19 NodeJs
Nodejs中怎么实现函数的串行执行
Mar 02 NodeJs
如何让Nodejs支持H5 History模式(connect-history-api-fallback源码分析)
May 30 NodeJs
独立部署小程序基于nodejs的服务器过程详解
Jun 24 NodeJs
nodejs使用node-xlsx生成excel的方法示例
Aug 22 NodeJs
nodejs 整合kindEditor实现图片上传
Feb 03 #NodeJs
NodeJS学习笔记之Connect中间件应用实例
Jan 27 #NodeJs
NodeJS学习笔记之Connect中间件模块(二)
Jan 27 #NodeJs
NodeJS学习笔记之Connect中间件模块(一)
Jan 27 #NodeJs
nodejs批量修改文件编码格式
Jan 22 #NodeJs
NodeJS学习笔记之MongoDB模块
Jan 13 #NodeJs
NodeJS学习笔记之(Url,QueryString,Path)模块
Jan 13 #NodeJs
You might like
国外PHP程序员的13个好习惯小结
2012/02/20 PHP
php实现简单的MVC框架实例
2015/09/23 PHP
PHP将英文数字转换为阿拉伯数字实例讲解
2019/01/28 PHP
PHP实现的文件浏览器功能简单示例
2019/09/12 PHP
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
EasyUI中datagrid在ie下reload失败解决方案
2015/03/09 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
jQuery实现指定区域外单击关闭指定层的方法【经典】
2016/06/22 Javascript
JS实现保留n位小数的四舍五入问题示例
2016/08/03 Javascript
javascript动画之模拟拖拽效果篇
2016/09/26 Javascript
支持移动端原生js轮播图
2017/02/16 Javascript
ES6学习笔记之Set和Map数据结构详解
2017/04/07 Javascript
Nodejs搭建wss服务器教程
2017/05/24 NodeJs
JS实现按钮控制计时开始和停止功能
2017/07/27 Javascript
微信小程序之高德地图多点路线规划过程示例详解
2021/01/18 Javascript
全面解析js中的原型,原型对象,原型链
2021/01/25 Javascript
[36:33]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第二场 11.29
2020/12/02 DOTA
python 布尔操作实现代码
2013/03/23 Python
浅谈python中字典append 到list 后值的改变问题
2018/05/04 Python
Python+selenium实现自动循环扔QQ邮箱漂流瓶
2018/05/29 Python
情人节快乐! python绘制漂亮玫瑰
2020/08/18 Python
postman模拟访问具有Session的post请求方法
2019/07/15 Python
Numpy的简单用法小结
2019/08/28 Python
python打包成so文件过程解析
2019/09/28 Python
详解Python 函数参数的拆解
2020/09/02 Python
Madewell美德威尔美国官网:美国休闲服饰品牌
2016/11/25 全球购物
Chicco婴儿用品美国官网:汽车座椅、婴儿推车、高脚椅等
2018/11/05 全球购物
乌克兰最大的家用电器和电子产品连锁店:Eldorado
2019/10/02 全球购物
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
机电一体化职业规划书
2014/01/07 职场文书
活动邀请函范文
2014/01/19 职场文书
优秀本科生求职推荐信
2014/02/24 职场文书
难忘的一天教学反思
2014/04/30 职场文书
作风年建设汇报材料
2014/08/14 职场文书
2015年大学生社会实践评语
2015/03/26 职场文书