zoukankan      html  css  js  c++  java
  • 事件(Event)机制 .on() .emit() .once() .removeListener()

    // 事件(Event)机制
    const EventEmitter = require('events');
    const emitter = new EventEmitter();
    // 侦听一个事件
    emitter.on("a", (event) => {
    console.log(event + "---监听到了!
    ");
    });
    // 发出一个事件
    emitter.emit("a", "发出事件");
    

      

    on 与 once 的差别
    /* on 与 once 的差别
    on 会无限制的响应
    once 只会响应一次 */
    const EventEmitter = require('events');
    const emitter = new EventEmitter();
    emitter.on("a", function (e) {
    	  console.log('on监听事件:'+e);
    });
    emitter.once("a", function (e) {
    	  console.log('once监听事件:'+e);
    });
    emitter.emit("a", "event");
    emitter.emit("a", "event1");
    emitter.emit("a", "event2");
    /* on监听事件:event
    once监听事件:event
    on监听事件:event1
    on监听事件:event2 */
    

      

    removeListener 来删除侦听的函数
    /* removeListener
    当然我们侦听了某个消息后,不想再侦听时可用 removeListener 来删除侦听的函数
    但是前提函数必须是有名字的,并且是变量。如下面的函数 */
    const EventEmitter = require('events');
    const emitter = new EventEmitter();
    const listener = function() {
    	  console.log('listener invoked!');
    };
    emitter.on("a", listener);
    emitter.emit("a", "event");
    console.log('event send!');
    console.log('before remove');
    emitter.removeListener("a", listener);
    console.log('after remove');
    emitter.emit("a", "event2");
    

      

  • 相关阅读:
    linux格式化新硬盘并挂载,设置开机自动挂载
    各大名企的笔试面试题
    web2.0 Color
    选调生面试题
    网站流量概要分析
    css下拉菜单演示
    子查询
    技巧
    CMM与软件生命周期
    学习方法之PHP
  • 原文地址:https://www.cnblogs.com/fdxjava/p/14202213.html
Copyright © 2011-2022 走看看