EventEmitter

Node.js所有的异步I/O操作在完成时都会发送一个事件给事件队列

  • 大多数Node.js核心API构建惯用异步事件驱动架构,某些类型的对象(触发器Emitter)会触发命名事件来调用函数(监听器Listener)
  • net.Server对象会在每次有新连接时触发事件、 fs.readStream对象会在打开文件时触发事件
  • 所有这些产生事件的对象都是events.EventEmitter实例。这些对象有一个EventEmitter .on()函数,用于将一个或多个函数绑定到命名事件上
  • EventEmitter对象触发一个事件时,所有绑定在该事件上的函数都会同步被调用

1.实例:

// eventEmitter.on() 用于注册监听器, eventEmitter.emit() 用于触发事件。

// 引入 events 模块
var events = require('events');
// 创建 eventEmitter 对象
var eventEmitter = new events.EventEmitter();

eventEmitter .on('some_event', function() { 
    console.log('some_event 事件触发'); 
}); 

2.方法

  • on(event, listener) 为指定事件event注册一个监听器listener
  • once(event, listener) 监听器最多触发一次
  • addListener(event, listener) 为指定事件添加一个监听器到监听器数组的尾部
  • removeListener(event, listener) 移除事件已经注册的某个监听器
  • emit(event, [arg1], [arg2], [...]) 按监听器的顺序执行执行每个监听器,如果事件有注册监听返回 true,否则返回 false。
  • listenerCount(emitter, event) 返回指定事件的监听器数量
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值