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服务器(5):事件处理程序
Dec 18 NodeJs
NodeJs基本语法和类型
Feb 13 NodeJs
nodejs简单实现中英文翻译
May 04 NodeJs
浅析nodejs实现Websocket的数据接收与发送
Nov 19 NodeJs
详解NodeJs支付宝移动支付签名及验签
Jan 06 NodeJs
nodejs开发——express路由与中间件
Mar 24 NodeJs
nodejs中安装ghost出错的原因及解决方法
Oct 23 NodeJs
nodejs实现大文件(在线视频)的读取
Oct 16 NodeJs
NodeJS实现不可逆加密与密码密文保存的方法
Mar 16 NodeJs
nodejs 使用nodejs-websocket模块实现点对点实时通讯
Nov 28 NodeJs
nodejs中方法和模块用法示例
Dec 24 NodeJs
NodeJS开发人员常见五个错误理解
Oct 14 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记录日志的实现代码
2011/08/08 PHP
php生成带logo二维码方法小结
2016/04/08 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
在PHP中输出JS语句以及乱码问题的解决方案
2019/02/13 PHP
PHP+Ajax简单get验证操作示例
2019/03/02 PHP
ThinkPHP3.2.3框架Memcache缓存使用方法实例总结
2019/04/15 PHP
PHP实现简单的计算器
2020/08/28 PHP
强悍无比的WEB开发好助手FireBug(Firefox Plugin)
2007/01/16 Javascript
JavaScript中的其他对象
2008/01/16 Javascript
JavaScript Event学习第八章 事件的顺序
2010/02/07 Javascript
extjs4 treepanel动态改变行高度示例
2013/12/17 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
使用jquery解析XML的方法
2014/09/05 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
jQuery元素选择器用法实例
2014/12/23 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
JS实现的哈夫曼编码示例【原始版与修改版】
2018/04/22 Javascript
node将geojson转shp返回给前端的实现方法
2019/05/29 Javascript
js实现随机8位验证码
2020/07/24 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
使用python装饰器验证配置文件示例
2014/02/24 Python
python将字典列表导出为Excel文件的方法
2019/09/02 Python
浅谈Python 函数式编程
2020/06/20 Python
html5 canvas 使用示例
2010/10/22 HTML / CSS
英国婚礼商城:Wedding Mall
2019/11/02 全球购物
Yankee Candle官网:美国最畅销蜡烛品牌之一
2020/01/05 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
学习党章思想汇报
2014/01/07 职场文书
我们的节日中秋活动方案
2014/08/19 职场文书
大学生自我评价200字(4篇)
2014/09/17 职场文书
关于成绩下滑的自我检讨书
2014/09/20 职场文书
六查六看个人剖析材料
2014/10/14 职场文书
教师工作决心书
2015/02/04 职场文书
HTML+CSS+JS实现图片的瀑布流布局的示例代码
2021/04/22 HTML / CSS