zoukankan      html  css  js  c++  java
  • 571 node的events模块


    常见的属性


    方法的补充


    01_events基础方法.js

    const EventEmitter = require("events");
    
    // 1.创建发射器
    const emitter = new EventEmitter();
    
    // 2.监听某一个事件
    // addListener是on的alias简写
    emitter.on('click', (args) => {
      console.log("监听1到click事件", args);
    })
    
    const listener2 = (args) => {
      console.log("监听2到click事件", args);
    }
    
    emitter.on('click', listener2)
    
    // 3.发出一个事件
    setTimeout(() => {
      emitter.emit("click", "coderwhy", "james", "kobe");
      emitter.off("click", listener2);
      emitter.emit("click", "coderwhy", "james", "kobe");
    }, 2000);
    

    02_events获取信息.js

    const EventEmitter = require('events');
    
    // 1.创建发射器
    const emitter = new EventEmitter();
    
    // 2.监听某一个事件
    // addListener是on的alias简写
    emitter.on('click', (args) => {
      console.log("监听1到click事件", args);
    })
    
    const listener2 = (args) => {
      console.log("监听2到click事件", args);
    }
    emitter.on('click', listener2)
    
    emitter.on("tap", (args) => {
      console.log(args);
    })
    
    // 3.获取注册的事件
    console.log(emitter.eventNames());
    console.log(emitter.listenerCount("click"));
    console.log(emitter.listeners("click"));
    

    03_events不常用方法.js

    const EventEmitter = require("events");
    
    // 1.创建发射器
    const emitter = new EventEmitter();
    
    // 2.监听某一个事件
    // addListener是on的alias简写
    // 只执行一次
    emitter.once('click', (arg1, arg2, arg3) => {
      console.log("监听1到click事件", arg1, arg2, arg3);
    })
    
    const listener2 = function(arg1, arg2, arg3) {
      // 特点: 绑定this, 也不绑定arguments数组
      console.log(arguments);
      console.log(this);
      console.log("监听2到click事件", arg1, arg2, arg3);
    }
    
    emitter.on('click', listener2)
    
    // 将本次监听放到最前面
    emitter.prependListener('click', (arg1, arg2, arg3) => {
      console.log("监听3到click事件", arg1, arg2, arg3);
    })
    
    emitter.on("scroll", (args) => {
      console.log("监听到scroll方法");
    })
    
    
    // 3.发出一个事件
    setTimeout(() => {
      // emitter.removeAllListeners("click");
      emitter.emit("click", "coderwhy", "james", "kobe");
      emitter.emit("click", "coderwhy", "james", "kobe");
      emitter.emit("scroll", "coderwhy", "james", "kobe");
    }, 2000);
    
    console.log(arguments);
    console.log(this);
    


  • 相关阅读:
    09 图书管理系统(SSM+LayUi)
    06 图书管理系统(SSM+LayUi)
    05 图书管理系统(SSM+LayUi)
    04 图书管理系统(SSM+LayUi)
    在使用IDEA创建SpringBoot的时候出现了Initialization failed for 'https://start.spring.io’Please check URL, network and proxy settings.的错误
    给项目添加Tomcat时找不到项目
    11 图书管理系统(SSM+LayUi)
    SNE降维与可视化
    非线性模型的回归和分类问题——决策树
    从线性回归到逻辑回归
  • 原文地址:https://www.cnblogs.com/jianjie/p/14232794.html
Copyright © 2011-2022 走看看