内置模块-events
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)
我是Eric,手机号是13522679763

浙公网安备 33010602011771号