首页 > 其他 > 详细

内置模块-events

时间:2021-04-09 16:05:39      阅读:9      评论:0      收藏:0      [点我收藏+]

 

const EventEmitter = require("events");

//1 创建发射器
const emitter = new EventEmitter();

// 2 监听 某一个事件   on || addlistener
emitter.on(‘click‘,(args)=>{
    console.log(‘监听到了clik事件‘,args);
})

const listener2 = (args) => {
    console.log(‘监听2到了clik事件‘,args);
}
emitter.on(‘click‘,listener2)

// 3 发射一个事件
setTimeout(function(){
    emitter.emit("click","eric",‘james‘,‘kobe‘);
    // 取消监听
    emitter.off(‘click‘,listener2)

    emitter.emit("click","eric",‘james‘,‘kobe‘);
},2000)

// 打印结果
// 监听到了clik事件 eric 
// 监听2到了clik事件   eric
// 监听到了clik事件 eric 
-----------------
 
 
const EventEmitter = require(‘events‘);
 
//1 创建发射器
const emitter = new EventEmitter();

// 2 监听 某一个事件   on || addlistener
emitter.on(‘click‘,(args)=>{
    console.log(‘监听到了clik事件‘,args);
})

const listener2 = (args) => {
    console.log(‘监听2到了clik事件‘,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"));
 
-----------------------
 
const EventEmitter = require("events");

//1 创建发射器
const emitter = new EventEmitter();

// 2 监听 某一个事件   once 只执行一次
emitter.once(‘click‘,(args1,args2,args3)=>{
    console.log(‘监听到了clik事件‘,args1,args2,args3);
})

const listener2 = (args1,args2,args3) => {  
    console.log(‘监听2到了clik事件‘,args1,args2,args3);
}
emitter.on(‘click‘,listener2)

const listener3 = (args1,args2,args3) => {
    console.log(‘监听3到了clik事件‘,args1,args2,args3);
}
// 将本次监听 放到最 前面
emitter.prependListener(‘click‘,listener3)

emitter.on("scroll",(args)=>{
    console.log(‘监听到 scroll 方法‘);
})
 
// 3 发射一个事件
setTimeout(function(){
    emitter.emit("click","eric",‘james‘,‘kobe‘); 
    // 移除 所有 监听事件
    emitter.removeAllListeners();
    emitter.emit("scroll");   
    emitter.emit("click","eric",‘james‘,‘kobe‘);
    emitter.emit("scroll","eric",‘james‘,‘kobe‘);
},2000)

 console.log(this)
 

内置模块-events

原文:https://www.cnblogs.com/eric-share/p/14637135.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!