zoukankan      html  css  js  c++  java
  • NodeJS3-3基础API----event(事件触发器)

    1.基础(on)


    // 如果像对象享有事件能力就要集成EventEmitter const EventEmitter = require('events') //集成EventEmitter类 class CustomEvent extends EventEmitter{ } // 实例化对象 const ce = new CustomEvent() //绑定一个事件名 ce.on('test',()=>{ console.log('this is a test'); }) setInterval(()=>{ ce.emit('test') },500)

    运行效果就是不断的执行this is a test

    2.传一些参数,基础信息

    const EventEmitter = require('events')
    
    class CustomEvent extends EventEmitter{}
    const ce = new CustomEvent() 
    
    ce.on('error',(err,time)=>{
        console.log(err);
        console.log(time);
        
    });
    
    ce.emit('error',new Error('oops!'),Date.now())

    3.执行一次就好了 once(下面即使是像之前on那样操作,也就是每个500毫秒执行一次,可是运行之后也就执行一次而已)

    const EventEmitter = require('events')
    class CustomEvent extends EventEmitter{}
    
    const ce = new CustomEvent()
    ce.once('test',()=>{
        console.log('test event');
        
    })
    setInterval(()=>{
        ce.emit('test')
    },500)

    4.移除工作,绑定了一些事件在某些场景下需要移除掉(removeListener  或者 removeAllListener)

    const EventEmitter = require('events')
    class CustomEvent extends EventEmitter{}
    function fn1(){
        console.log('fn1');
    }
    function fn2(){
        console.log('fn2');
    }
    const ce = new CustomEvent()
    ce.on('test',fn1)
    ce.on('test',fn2)
    setInterval(()=>{
        ce.emit('test')
    },500)
    setTimeout(()=>{
        // ce.removeListener('test',fn2)
        // ce.removeListener('test',fn1)
        //移除所有事件名的事件
        ce.removeAllListeners('test')
    },1500)
  • 相关阅读:
    PHP邮件群发程序
    特牛的PHP分页
    短信平台PHP代码一点通
    PHP工厂模式的好处
    PHP单例模式经典讲解
    php excel类 ,phpExcel使用方法介绍
    php5魔术函数、魔术常量
    PHP设计模式漫谈之工厂模式
    PHP跨站刷票代码
    PHP类的静态(static)方法和静态(static)变量
  • 原文地址:https://www.cnblogs.com/chorkiu/p/11419216.html
Copyright © 2011-2022 走看看