node.js学习(十五、Events事件模块)
2017-03-22 17:31
711 查看
通过on注册监听函数,可传递参数
当任何事件被注册监听时都会触发newListener事件。’newListener’ 回调中任何额外的被注册到相同名称的监听器会在监听器被添加之前被插入 。
emitter.removeAllListeners([eventName])移除所有名称是eventName的监听器
emitter.removeListener(eventName, listener) 移除指定监听器,listener参数必须,且要为已注册监听的某个回调函数。
emitter.listenerCount(eventName)获取某个名称事件的回调数量
emitter.eventNames()获取所有监听事件的名称(不重复)
emitter.prependListener(eventName, listener)在最前添加事件,最新执行
emitter.prependOnceListener(eventName, listener)在最前添加单词执行监听
const EventEmitter = require('events'); let myEmitter=new EventEmitter(); myEmitter.on('event', (a,b) => { setImmediate(() => { console.log('这个是异步发生的%d',a+b); }); }); //可添加相同名称的事件,按加入顺序执行 myEmitter.on('event', (a,b) => { setImmediate(() => { console.log('这个是异步发生的%d',a*b); }); }); //执行所有event事件 myEmitter.emit('event',2,3); //输出 这个是异步发生的5 这个是异步发生的6
当任何事件被注册监听时都会触发newListener事件。’newListener’ 回调中任何额外的被注册到相同名称的监听器会在监听器被添加之前被插入 。
const EventEmitter = require('events'); let myEmitter=new EventEmitter(); myEmitter.once('newListener', (event, listener) => { if (event === 'event') { // 在开头插入一个新的监听器 myEmitter.on('event', () => { console.log('D'); }); } }); myEmitter.on('event', (a,b) => { console.log('A',a+b); }); //可添加相同名称的事件,按加入顺序执行 myEmitter.on('event', (a,b) => { console.log('B',a*b); }); //执行所有event事件 myEmitter.emit('event',2,3); 输出 D A 5 B 6
emitter.removeAllListeners([eventName])移除所有名称是eventName的监听器
emitter.removeListener(eventName, listener) 移除指定监听器,listener参数必须,且要为已注册监听的某个回调函数。
const EventEmitter = require('events'); let myEmitter=new EventEmitter(); var cb=() => { console.log('D'); } myEmitter.once('newListener', (event, listener) => { if (event === 'event') { // 在开头插入一个新的监听器 myEmitter.on('event',cb ); } }); myEmitter.on('event', (a,b) => { console.log('A',a+b); }); //可添加相同名称的事件,按加入顺序执行 myEmitter.on('event', (a,b) => { console.log('B',a*b); }); myEmitter.removeListener("event",cb); //执行所有event事件 myEmitter.emit('event',2,3); 输出 A 5 B 6
emitter.listenerCount(eventName)获取某个名称事件的回调数量
emitter.eventNames()获取所有监听事件的名称(不重复)
emitter.prependListener(eventName, listener)在最前添加事件,最新执行
emitter.prependOnceListener(eventName, listener)在最前添加单词执行监听
相关文章推荐
- node.js学习之事件模块Events的使用示例
- Node.js学习笔记【1】入门(服务器JS、函数式编程、阻塞与非阻塞、回调、事件、内部和外部模块)
- Node.Js events模块(二)-EventEmitter自定义操作事件
- Node.js-事件模块(events)之监听方式
- Node.js:events事件模块
- 详解Node.js:events事件模块
- node.js学习之模块篇(转载)
- Node.js中的模块机制学习笔记
- Node.js学习笔记(3、http模块)
- node.js认识学习二:__dirname获取当前模块文件所在目录的完整绝对路径
- Node.js学习笔记2【核心模块】
- Node.js非阻塞IO和事件循环学习总结
- 【Node.js学习笔记1--模块 npm】
- nginx 源码学习笔记(二十一)—— event 模块(二) ——事件驱动核心ngx_process_events_and_timers
- Node.js中HTTP模块与事件模块详解
- Node.js学习--基础知识(3)--回调函数与事件
- Node.js学习1:事件循环探究
- Node.js学习(6)----事件
- NODE.JS学习笔记——CRYPTO 加密模块
- Node.js 核心事件 Events