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笔记】学生管理系统
    【从零开始学Java笔记】关键字super和this
    【从零开始学Java笔记】关键字Static
    【从零开始学Java笔记】关键字final
    【从零开始学Java笔记】关键字abstract
    循环结构
    switch选择结构
    if条件语句
    位运算
    Eclipse 报错The method xxx of type must override a superclass method、Description Resource Path Location Type Java compiler level does not match the version of the installed Java project facet
  • 原文地址:https://www.cnblogs.com/Hale-Proh/p/6941101.html
Copyright © 2011-2022 走看看