nodeJS基础四 事件
2019-07-16 本文已影响0人
辛未羊的前端随笔
event
概念
1.Node中的event没有默认行为和事件冒泡
2.const EventEmitter = require('events'); //返回一个类
3.通常我们需要继承EventEmitter 来实现事件
4.一个EventEmitter 对象默认最大可以有10个监听,可以通过emitter.setMaxListeners()来设置最大监听数
5.大多数Nde.js 核心对象都继承实践类
添加监听
1.emitter.addListener(enentName,listener)
2.emitter.on(eventName,listener)
3.emitter.once(eventName,listener)
注意点
和浏览器端事件不同,监听函数的第一个参数就是触发时传入的参数而不是event对象
emitter.addListener和emitter.on是同一个方法
触发事件
emitter.emit(eventName[,...args])
注意点
和浏览器端的事件不同,传入参数不用数组而是参数列表
移除事件
emitter.removeListener(eventName,listenner)
emitter.off(eventName,listenner)
注意点
emitter.removeListener是同一个方法
emitter.off()必须node版本大于V10.0.0
const EventEmitter = require('events');
class myEmitter extends EventEmitter{
}
let myEmitters = new myEmitter();
let list = ['1','2'];
myEmitters.setMaxListeners(5)
myEmitters.addListener('text',(...arg)=>{
console.log(...arg);
console.log('events addListener')
})
myEmitters.emit('text','aa','bb',list);