API--Events

Events API是其他所有API工作的基础模块

先看看DOM模型的Events:

DOM是基于用户交互的用户驱动型事件模型,有着一组与树状结构(HTML/XML等)对应的接口元素。that means,当用户与接口的某个特定部分交互时,对应有一个事件和一个相关的对象,for example,某个HTML/XML元素被点击或者进行了其它操作,该操作对象有父节点,并且可能有子节点。因为操作对象是在一棵树中,所以这个模型包含了冒泡和捕获的概念,就是允许沿着树的结构向上或向下的元素也接收被触发的事件。

因为JavaScript对象没有这一类树状结构,所以Node中的模型更加简单:

EvnetEmitter:

所有Node的事件功能围绕着EventEmitter,因为它的设计包含了其他类扩展所需的接口类。EventEmitter通常不会直接调用。

EventEmitter类提供了一系类的方法,其中最主要的两个是on和emit,这些方法供其他类使用。

  • on方法为一个事件创建监听器
  • emit为触发一个事件
//引入模块
var EventEmitter = require('events').EventEmitter;
//创建对象
var event = new eventEmitter();
//创建一个事件监听器
//on方法接收两个参数:第一个需要监听的事件的名称,
//第二个当事件触发时调用的函数
event.on("event_name",function(){
  console.log("Hello World!");
});
//设置事件触发条件,下面用一个定时器来触发,设置5秒后触发
setTimeout(function(){
  //写入触发事件的函数
  //emit方法接收一个事件名称作为参数
  evnet.emit('evnet_name');
},5000);

//等待5秒后,控制台会输出一行文字“Hello World!”

参考:NODE 即学即用

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Module definition patterns 除了作为加载依赖的机制之外,模块系统也是一种用于定义AP...
    宫若石阅读 508评论 0 0
  • 内容来自《Node.js开发指南》 核心模块是 Node.js 的心脏,它由一些精简而高效的库组成,为 Node....
    angelwgh阅读 926评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,099评论 19 139
  • 肆虐了几日的风雪 闻听春的脚步,躲在了有阴影的角落 阳光下斑斓的虎皮墙有点迷人 那些,被指纹层层覆盖的堆砌,仿佛还...
    月亭阅读 241评论 14 9
  • 看到图片的一片绿叶,我想到的是在我去年的夏天的时候回老家捡到的一片宽大的梧桐树页,那片叶子如蒲扇那么大,表面有层柔...
    清风拂柳芽阅读 253评论 0 2