NodeJS事件

概念

触发器Emitter会触发命名事件eventName来调用函数Listener

//引入事件模块events
var events = require('events')
//创建触发器对象emitter
var emitter = new events.EventEmitter()
/**为connection事件注册一个监听器,一个事件可绑定多个监听器
 * 添加监听器 emitter.on是emitter.addListener的简写
 * 添加只能调用一次的监听器 emitter.once(eventName, listener)
 */
emitter.on('connection', function () {
    console.log('已连接')
})
/**2s后触发connection事件
 * 调用监听器 emmiter.emit(eventName,[args])
 */
setTimeout(function () {
    emitter.emit('connection')
}, 2000)

监听器

移除监听器

1、移除指定事件的指定监听器:emitter.removeListener(eName, listener)emitter.off(eName,listener)

2、移除指定事件的全部监听器:emitter.removeAllListener(eName)

3、移除所有事件的全部监听器:emitter.removeAllListener()

监听器绑定个数

设置监听器最大绑定值:emitter.setMaxListeners(n),当n = 0Infinity表示不限定绑定数量

查看指定事件绑定监听器的个数:emitter.listenerCount(eventName)


error事件

如果没有为error事件注册监听器,

则当error事件触发时,会抛出错误、打印堆栈跟踪、并退出Node.js进程

因此要为会触发error事件的对象设置监听器,避免遇到错误后整个程序崩溃


转载于:https://my.oschina.net/startjcu/blog/3050690

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值