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')

  • 相关阅读:
    bzoj3786 星系探索
    [JSOI2008]火星人
    [NOI2005]维护数列
    [POI2008]砖块Klo
    郁闷的出纳员
    [HNOI2002]营业额统计
    [BZOJ1651][Usaco2006 Feb]Stall Reservations 专用牛棚
    [BZOJ2124]等差子序列
    [BZOJ3038]上帝造题的七分钟2
    [BZOJ1711][Usaco2007 Open]Dining吃饭
  • 原文地址:https://www.cnblogs.com/greatluoluo/p/5727147.html
Copyright © 2011-2022 走看看