NodeJS基础-10 事件模块
2017-05-12 00:00
393 查看
一、添加具名事件
life.setMaxListeners(11);//一个事件可以最多设置11个监听事件 默认是10个life.emit('please','我') ; //触发事件 please是事件名
//事件模块续 var EventEmitter = require('events').EventEmitter; //生成一个EventEmitter的实例 var life = new EventEmitter(); //设置事件监听的最大数量 life.setMaxListeners(11);//一个事件可以最多设置11个监听事件 默认是10个 //加上事件监听 addEventLister life.on('please',function(who){ console.log('给'+who+'倒水'); }) ;//on('事件名字', 回调方法 life.on('please',function(who){ console.log('给'+who+'做饭'); }) ;//on('事件名字', 回调方法 life.on('please',function(who){ console.log('给'+who+'洗衣服'); }) ;//on('事件名字', 回调方法 life.on('lalala',function(who){ console.log('给'+who+'发工资'); }) ;//on('事件名字', 回调方法 //life.emit('please','我') ; var hasConforListerner = life.emit('please','我') ;//触发事件名称,传入参数值 //会返回true和false 代表事件是否被监听过 console.log(hasConforListerner)
二、移除事件
1、只能移除具名函数
//事件移除 必须是有具名函数 var EventEmitter = require('events').EventEmitter; //生成一个EventEmitter的实例 var life = new EventEmitter(); function read(who){ console.log('请讲故事给' + who+'听'); } life.on('please',read) life.emit('please','我');
请讲故事给我听
移除函数
//事件移除 必须是有具名函数
var EventEmitter = require('events').EventEmitter;
//生成一个EventEmitter的实例
var life = new EventEmitter();
function read(who){
console.log('请讲故事给' + who+'听');
}
life.on('please',read)
life.removeListener('please',read);
life.emit('please','我');
2、批量移除
1、移除Emitter有关的所有监听事件函数life.removeAllListeners();
2、移除具体某个事件
life.removeAllListeners(‘please’);
三、查询事件监听数量
1、life.listeners('please').lengthconsole.log(life.listeners('please').length); ====》1
2、EventEmitter.listenerCount(life,'please')
console.log(EventEmitter.listenerCount(life,'please')); ===>1
//第一个参数传入实例名字 ,第二个传入事件名
相关文章推荐
- nodeJS学习(10) --- 事件模块
- 使用 jQuery Mobile 与 HTML5 开发 Web App —— 10 jQuery Mobile 默认配置与事件基础
- nodejs之旅-005-基础知识-事件处理机制及事件环机制
- Nodejs基础:路径处理模块path
- NodeJS-04 events事件模块
- nodejs基础学习--模块安装
- 跟我学Nodejs(二)--- Node.js事件模块
- Nodejs基础:stream模块入门介绍与使用
- NodeJS基础(二)——fs文件模块
- 基础入门_Python-模块和包.运维开发中watchdog事件监视的最佳实践?
- Nodejs基础:路径处理模块path总结
- Ngixn基础. 认识Nginx事件模块(一)
- nodejs基础 -- web模块
- nodejs基础 -- 事件循环
- Nodejs基础:路径处理模块path总结
- NodeJS基础:querystring 模块的使用
- jQuery源码分析-10事件处理-Event-概述和基础知识
- Windows 10开发基础——指针事件和操作事件(一)
- NodeJs——(5)与 events 事件模块
- 树梅派应用10:RPi.GPIO 模块使用基础