Node.js EventEmitter中两个事件

在node.js的eventEmitter里有两个事件,newListener和removeListener
newListener
newListener是在新监听器添加的时候被被触发的。
接收参数:
event--字符串,事件名称
listener--处理事件函数
例子:

let events = require("events");
let eventEmitter = new events.EventEmitter();

eventEmitter.on("newListener",(event,Listener)=>{
    if(event==="event"){
        console.log("B")
    }
});

eventEmitter.on("event",()=>{
   console.log("A");
});

eventEmitter.emit("event");

输出:
B
A
正明在添加event监听器的时候先触发newListener了.

removeListener
removeListener是当监听器从指定监听器数组中被移除的时候,而且此操作会改变之后那些监听器的索引.
接收参数:
event--字符串,事件名称
listener==处理函数
例子

let events = require("events");
let eventEmitter = new events.EventEmitter();

eventEmitter.on("removeListener",(event,Listener)=>{
    if(event==="event"){
        console.log("B")
    }
});

eventEmitter.on("event",()=>{
   console.log("A");
});

eventEmitter.emit("event");
eventEmitter.removeAllListeners("event");

输出
A
B
证明event被移除的时候触发的

注意:
removeListener和newListener是不能同时触发的。newListener会影响removeListener。

刚开始学习node.js水平有限,以此给自己学习做个记录,如果有错误的地方还请指正。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • https://nodejs.org/api/documentation.html 工具模块 Assert 测试 ...
    KeKeMars阅读 11,515评论 0 6
  • 内容来自《Node.js开发指南》 核心模块是 Node.js 的心脏,它由一些精简而高效的库组成,为 Node....
    angelwgh阅读 4,402评论 0 1
  • 不知你有没有写信的习惯? 不知当你收到信的那一刻,心情如何? 是兴奋?是讶异?是期盼已久? 在这个微信充满大半个地...
    Jenny同学阅读 1,904评论 6 3
  • 昨天群聊,有个群友发来这样一张图片。 看到图片我就想起了自己那几件青葱的囧经历。 001 科目三考试紧张的要命,真...
    三七悦读阅读 1,066评论 0 1
  • 伸出手,便能够到彩虹。 这是你最真诚的愿望。 梨花开满遍山,纯洁、耀眼、温柔, 雨滴在湖面任意游荡, 微风吹起书的...
    张新怡阅读 1,339评论 1 5