var EventEmitter=require('events').EventEmitter
var life=new EventEmitter();
//comfort 求安慰,函数名;
//fondness 求溺爱,函数名;
//官方建议,事件监听的最大数量不要超过10个,太多的话可能会导致内存的泄漏,当然这个值是可以修改的,通过setMaxListeners()方法修改;
life.setMaxListeners(3)
life.on('comfort',function(who){//监听,求安慰,
console.log('给'+who+'倒水!');
})
life.on('comfort',function(who){//监听,求安慰,
console.log('给'+who+'揉肩');
})
life.on('comfort',zuofan);
function zuofan(who){
console.log('给'+who+'做饭');
}
life.on('fondness',maiyifu);
life.on('fondness',jiaogongzi);
function maiyifu(who){
console.log('给'+who+'买衣服');
}
function jiaogongzi(who){
console.log('给'+who+'交工资');
}
//life.removeListener('comfort',zuofan); //移除事件;
life.emit('comfort','老公')//调用事件
life.emit('fondness','老婆')//调用事件
//console.log(life.emit('comfort','老公'))//是否调用事件,返回true,false;
console.log('给老公做的事情:'+life.listeners('comfort').length)//事件的个数;
console.log('给老婆做的事情:'+life.listeners('fondness').length)//事件的个数;

打开CMD,运行node events.js,如下图所示:

首先监听事件,然后用emit()方法来调用,移除事件为removeListener()方法;

需要注意的是,监听事件可以传入匿名函数也可以传入实名函数,但是移除事件的时候,必须传入实名函数,传入匿名函数会有错误;

nodeJs事件之监听移除事件的更多相关文章

  1. 【spring源码学习】spring的事件发布监听机制源码解析

    [一]相关源代码类 (1)spring的事件发布监听机制的核心管理类:org.springframework.context.event.SimpleApplicationEventMulticast ...

  2. 深入理解Spring的容器内事件发布监听机制

    目录 1. 什么是事件监听机制 2. JDK中对事件监听机制的支持 2.1 基于JDK实现对任务执行结果的监听 3.Spring容器对事件监听机制的支持 3.1 基于Spring实现对任务执行结果的监 ...

  3. 【laravel】Eloquent 模型事件和监听方式

    所有支持的模型事件 在 Eloquent 模型类上进行查询.插入.更新.删除操作时,会触发相应的模型事件,不管你有没有监听它们.这些事件包括: retrieved 获取到模型实例后触发 creatin ...

  4. Spring笔记(7) - Spring的事件和监听机制

    一.背景 事件机制作为一种编程机制,在很多开发语言中都提供了支持,同时许多开源框架的设计中都使用了事件机制,比如SpringFramework. 在 Java 语言中,Java 的事件机制参与者有3种 ...

  5. IOS之UI--自定义按钮实现代理监听点击事件

    前言: Objective-C提供的按钮监听事件的方法是 不含参数的监听方法 [button实例对象 addTarget:self action:@selector(func) forControlE ...

  6. Android监听点击事件实现的三种方法

    监听点击事件实现的三种方法:1.匿名内部类2.外部类3.直接实现接口 1.匿名内部类: package com.jereh.calculator; import android.content.Con ...

  7. javascript 原生方法监听DOM结构改变事件

    js原生方法监听DOM结构改变事件 document.addEventListener('DOMNodeInserted',function(){alert(1)},false);document.a ...

  8. WPF之监听组合键事件

    private void KeyDown(object sender, KeyEventArgs e) { if (e.Key== Key.Up && Keyboard.Modifie ...

  9. [置顶] flex4事件监听与自定义事件分发(三)

    1.我们来说一下自定义事件子类.什么时候创建新的事件类以及怎么创建. (1)说一下,我们什么时候需要自定义事件类.举例说明,在flex中事件的基类是Event,而当我们点击某个按钮或者是单击某个组件的 ...

随机推荐

  1. Android IOS WebRTC 音视频开发总结(十八)-- 手机适配

    本文主要介绍上次碰到的某些机器上看不到视频的问题,文章来自博客园RTC.Blacker,转载请说明出处. 之前做的视频聊天App一直运行良好,前几天客户反馈说在三星9100. Android4.0.3 ...

  2. CentOS6.4安装Smokeping节点监控软件

    Smokeping:它是rrdtool的作者制作的,在图形显示方面很漂亮,可以用来很好的检测网络状态和稳定性,下面简单说一下Smokeping的安装以及配置方法. 0.首先关闭selinux和防火墙 ...

  3. C#中如何将combox中的下拉项和一个枚举中的各项进行绑定

    实现一个combobox,将其各个下拉项与枚举进行绑定 效果图如下: 代码详解如下: 枚举: public enum StoreSite { /// <summary> /// 未知 // ...

  4. c#使用DocX添加多级标题

    博客转移到 http://jacean.github.io/ 继续分享编程经验 先上效果.可以生成多级标题,但是不能生成1,1.1,1.2这样的自动序列, 只是这样的效果. 实现方法是给Paragra ...

  5. 关于commons-fileupload组件上传文件中文名乱码问题

    java web开发,常用到的文件上传功能,常用的commons-fileupload和commons-io两个jar包.关于如何使用这两个jar来完成文件上传的功能,这里不做详解.使用commons ...

  6. 删除map容器中指定的元素

    for (std::map<Int64,Int64>::iterator iter = ips_forbidden_.begin(); iter != ips_forbidden_.end ...

  7. dirname(__FILE__)与__DIR__全等

    小例子如下: <?php$the_full_name = __FILE__;$the_file = dirname(__FILE__);echo $the_full_name.'<br/& ...

  8. sql 子查询要命名

    Date1 from ( select distinct Date1 from TableName where Date1 > '2013-5-1' )A --这里加个A,B,C随便你 或者as ...

  9. C#条件编译,发布多平台和多种选择性的项目

    http://www.cnblogs.com/chengulv/p/4579528.html 界面操作参考 这样正对不同环境就可以编译出不同的exe或者dll,做到一个项目的灵活多变.条件编译还可以满 ...

  10. python 常用函数、内置函数清单

    文章内容摘自:http://www.cnblogs.com/vamei 1.type() 查询变量的类型 例: >>> a = 10>>> print a10> ...