zoukankan      html  css  js  c++  java
  • Node.js之事件events

    Events

    a.EventEmitter支持多个事件监听,最大为10,也可以自定义最大数

    //添加监听
    var EventEmitter = require('events').EventEmitter;
    var instance = new EventEmitter();
    instance.on('event',function(arguments){});

    b.如果超过十个也能执行,不过有可能会造成内存泄漏

    //自定义最大数
    //每个setMaxListeners针对的是一个特定事件:即event1,event2,... 默认最大都为10,本例为num
    instance.setMaxListeners(num);

    c.事件监听之后,需要emit(发射,发出)才会执行
    instance.emit('event',arguments)

    d.判断是否监听
    boolean instance.emit('event',arguments) //true or false

    e.移除监听事件

    //移除单个事件监听
    instance.removeListener('event',funcName) //移除事件需具名函数,匿名函数不行

    //移除多个事件监听
    instance.removeAllListerner() //不传参表示移除所有事件监听
    instance.removeAllListerner('event') //移除特定event的所有事件监听

    f.计算事件监听数量

    //第一种
    instance.listeners('event').length

    //第二种
    EventEmitter.listenerCount(instance,'event')

  • 相关阅读:
    redis集群
    鉴权方案选择
    spring mvc 自定义handler不拦截静态资源
    servlet3
    压测工具 ab jmeter
    死锁产生的原因
    缓存方案:本地guavaCache, 远程redis?
    使用spring boot admin
    groovy使用小记
    python--面试题01
  • 原文地址:https://www.cnblogs.com/greatluoluo/p/5727147.html
Copyright © 2011-2022 走看看