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");
    

      

  • 相关阅读:
    置顶
    hbck2的一些用法
    常用的jvm一些监控命令
    HBCK2修复hbase2的常见场景
    HBase2版本的修复工具HBCK2
    使用python写入excel
    CentOS-Linux下面的xfs磁盘配额
    使用podman容器部署飞儿云框架
    在docker中安装宝塔
    在CentOS7中安装Docker并开一台CentOS8的容器
  • 原文地址:https://www.cnblogs.com/fdxjava/p/14202213.html
Copyright © 2011-2022 走看看