当前位置 主页 > 网站技术 > 代码类 >

    node.JS事件机制与events事件模块的使用方法详解(4)

    栏目:代码类 时间:2020-02-06 15:08

    'newListener' 事件

    eventName <any> 要监听的事件的名称

    listener <Function> 事件的句柄函数

    EventEmitter 实例会在一个监听器被添加到其内部监听器数组之前触发自身的 'newListener' 事件

    注册了 'newListener' 事件的监听器会传入事件名与被添加的监听器的引用。事实上,在添加监听器之前触发事件有一个微妙但重要的副作用: 'newListener' 回调中任何额外的被注册到相同名称的监听器会在监听器被添加之前被插入 

    var EventEmitter = require('events');
    var emitter = new EventEmitter();
    emitter.on('newListener',function(){
      console.log(2);
    })
    emitter.on('test',function(){
      console.log(1);
    })
    emitter.emit('test');//2 1
    var EventEmitter = require('events');
    var emitter = new EventEmitter();
    emitter.on('test',function(){
      console.log(1);
    })
    emitter.on('newListener',function(){
      console.log(2);
    })
    emitter.emit('test');//1

    'removeListener' 事件

    eventName <any> 事件名

    listener <Function> 事件句柄函数

    'removeListener' 事件在 listener 被移除后触发

    var EventEmitter = require('events');
    var emitter = new EventEmitter();
    function show(){
      console.log(1);
    }
    emitter.on('removeListener',function(){
      console.log(2);//2
    })
    emitter.on('test',show).removeListener('test',show);
    var EventEmitter = require('events');
    var emitter = new EventEmitter();
    function show(){
      console.log(1);
    }
    emitter.on('test',show).removeListener('test',show);
    emitter.on('removeListener',function(){
      console.log(2);//''
    })
    var EventEmitter = require('events');
    var emitter = new EventEmitter();
    function show(){
      console.log(1);
    }
    emitter.removeListener('test',show);
    emitter.on('removeListener',function(){
      console.log(2);//''

    更多关于node.js事件的相关文章大家可以点击下面的相关链接