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

      

  • 相关阅读:
    angular的路由例子
    angular自定义module
    docker配置phpadmin需要注意的地方
    linux下钉钉,微信
    debian shell脚本关联
    debian下安装带界面的qemu
    ros的一些设置
    新闻排重方案设计
    细解动态规划(一)
    漫画谈-微积分(二)
  • 原文地址:https://www.cnblogs.com/fdxjava/p/14202213.html
Copyright © 2011-2022 走看看