zoukankan      html  css  js  c++  java
  • Node.js_1

    1.添加EventEmitter模块

    var EventEmitter = require('events').EventEmitter

    2.实例一个EventEmitter对象

    var life = new EventEmitter()

    3.可通过.setMaxListeners()来修改最大监听数,默认10个

    life.setMaxListeners(11)

    4.事件监听有两种方法,两种方式

    function water(who){
        console.log('给 ' + who +' 倒水')
    }
    
    // addEventListener
    life.on('求安慰',water)
    
    life.on('求安慰',function(who){
        console.log('给 ' + who +' 揉肩')
    })

    5.移除一个监听事件,需要在 life.emit('求安慰','东晖')  之前才有用,并且只能移除具名函数

    life.removeListener('求安慰',water)

    6移除所有‘求安慰’的事件

    life.removeAllListeners('求安慰') 

    7触发事件

    life.emit('求安慰','东晖')
    life.emit('求溺爱','妹子')

    8查看是否被监听(查看时所有事件会再触发一遍,why?)

    var hasConfortListener = life.emit('求安慰','东晖')
    var hasPlayedListener = life.emit('求溺爱','妹子')
    var hasLovedListener = life.emit('求玩坏','ni ')
    
    console.log(life.emit('求安慰','东晖'))
    console.log(life.emit('求溺爱','妹子'))
    console.log(life.emit('求玩坏','ni '))

    9查看监听个数,需要具体的名字,有两种方法

    console.log(life.listeners('求安慰').length)  //方法一
    console.log(EventEmitter.listenerCount(life,'求溺爱'))  //方法二

    整个Demo:

    // 添加EventEmitter模块
    var EventEmitter = require('events').EventEmitter
    
    //实例一个EventEmitter对象
    var life = new EventEmitter()
    
    //可通过.setMaxListeners()来修改最大监听数,默认10个
    life.setMaxListeners(11)
    
    
    function water(who){
        console.log('给 ' + who +' 倒水')
    }
    
    // addEventListener
    life.on('求安慰',water)
    
    life.on('求安慰',function(who){
        console.log('给 ' + who +' 揉肩')
    })
    
    life.on('求安慰',function(who){
        console.log('给 ' + who +' 洗衣')
    })
    
    
    life.on('求溺爱',function(who){
        console.log('给 ' + who +' 买衣服')
    })
    
    // 移除一个监听事件,需要在 life.emit('求安慰','东晖')  之前才有用,并且只能移除具名函数
    life.removeListener('求安慰',water)
    
    //移除所有‘求安慰’的事件
    life.removeAllListeners('求安慰') 
    
    // 触发事件
    life.emit('求安慰','东晖')
    life.emit('求溺爱','妹子')
    
    /*// 查看是否被监听
    var hasConfortListener = life.emit('求安慰','东晖')
    var hasPlayedListener = life.emit('求溺爱','妹子')
    var hasLovedListener = life.emit('求玩坏','ni ')
    
    console.log(life.emit('求安慰','东晖'))
    console.log(life.emit('求溺爱','妹子'))
    console.log(life.emit('求玩坏','ni '))
    */
    
    // 查看监听个数,需要具体的名字,有两种方法
    console.log(life.listeners('求安慰').length)  //方法一
    console.log(EventEmitter.listenerCount(life,'求溺爱'))  //方法二
  • 相关阅读:
    五、Java对象和类
    四、JavaString字符串
    三、Java语句
    二、Java基本数据类型
    一、Java主类结构
    bat常用命令
    iOS 如何获得app的版本和系统的版本
    英语----时态---将来时态的四种对比
    英语----时态---将来时态的
    英语----时态---现在进行时与过去进行时
  • 原文地址:https://www.cnblogs.com/Hale-Proh/p/6941101.html
Copyright © 2011-2022 走看看