前端总结

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);
上一篇下一篇

猜你喜欢

热点阅读