nodejs之事件触发
2017-08-17 14:12
274 查看
nodejs事件触发就是对指定事件的绑定之后,再一次的对事件进行触发的过程,在此过程中可以指定绑定哪个事件,又或者是移除哪个事件,指定事件的触发次数。
用个栗子来讲述一下:
//引入事件模块
var events = require("events");
//声明事件触发器
var eventEmitter = new events.EventEmitter();
//监听器#1
var listener1 = function listener1(){
console.log("监听器listener1执行");
}
//监听器#2
var listener2 = function listener2(){
console.log("监听器listener2执行");
}
//绑定connection事件,处理函数为listener1
eventEmitter.addListener('connection',listener1);
//绑定connection事件,处理函数为listener2
eventEmitter.on('connection',listener2);
var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+"个监听器监听连接事件");
//处理connection事件
eventEmitter.emit('connection');
//移除监绑定的listener1函数
eventEmitter.removeListener('connection',listener1);
console.log("listener1不再受监听");
//触发连接事件
eventEmitter.emit('connection');
eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+'个监听器监听连接事件');
console.log("程序执行完毕");
通过上述的栗子可以看到,绑定时间有两种办法,一种是addListener(),另一种是on。触发事件是emit。移除监听事件为removeListener()。
require('events').EvenetEmitter.listenerCout();可以获取监听的个数
用个栗子来讲述一下:
//引入事件模块
var events = require("events");
//声明事件触发器
var eventEmitter = new events.EventEmitter();
//监听器#1
var listener1 = function listener1(){
console.log("监听器listener1执行");
}
//监听器#2
var listener2 = function listener2(){
console.log("监听器listener2执行");
}
//绑定connection事件,处理函数为listener1
eventEmitter.addListener('connection',listener1);
//绑定connection事件,处理函数为listener2
eventEmitter.on('connection',listener2);
var eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+"个监听器监听连接事件");
//处理connection事件
eventEmitter.emit('connection');
//移除监绑定的listener1函数
eventEmitter.removeListener('connection',listener1);
console.log("listener1不再受监听");
//触发连接事件
eventEmitter.emit('connection');
eventListeners = require('events').EventEmitter.listenerCount(eventEmitter,'connection');
console.log(eventListeners+'个监听器监听连接事件');
console.log("程序执行完毕");
通过上述的栗子可以看到,绑定时间有两种办法,一种是addListener(),另一种是on。触发事件是emit。移除监听事件为removeListener()。
require('events').EvenetEmitter.listenerCout();可以获取监听的个数
相关文章推荐
- process.stdin的end事件如何触发?---关于nodejs底层的标准输入与输出的坑
- nodejs事件的监听与触发的理解分析
- nodejs事件的监听与事件的触发
- NodeJS:通过EventEmitter为对象注册和触发事件
- nodejs事件的监听与事件的触发
- nodejs触发事件的两种方式
- nodejs事件的监听与触发的理解分析
- NodeJs6.2.0版本中process.stdin 'end'事件的触发
- 经查证,直接调用Form的submit()方法, 并不会触发onSubmit事件
- Nodejs爬虫刷csdn访客+桌面自动化框架Robotjs模拟鼠标,键盘,屏幕事件!
- repeater中的checkbox 的方法以及datalist中放了一个按牛!为什么我按该按牛时候不能触发ItemCommand事件的主要原因
- 关于Android Spinner setSelection 和 onItemSelected事件的触发顺序
- js实现滚动条滚动到最底部触发事件
- JSP中input内容改变触发onchange事件使用
- 禁止表单按回车触发提交事件
- jQuery中动态创建元素节点无法触发事件
- CL_GUI_ALV_GRID 触发PAI事件(Application event)
- JS的事件多次触发,只执行最后一次
- JavaScript如何触发ActiveX控件的事件,并得到事件中的参数
- 某些手机上滑动事件触发click事件,或click事件触发不了