events 事件触发器

1.所有能触发事件的对象都是 EventEmitter 类的实例。这些对象有一个 eventEmitter.on() 函数,用于将一个或多个函数绑定到命名事件上。还有一个.emit()函数用于chu'fa触发监听器。

2.this,指向事件绑定者。用箭头函数的话,this指向就为空了。

3.当绑定多个函数时,本质是同步执行的,当里面含有异步函数时,就会切换到异步模式。

4.once()函数可注册最多只监听一次的函数。

5.on('error'),监听错误事件,避免出错直接退出node进程。

EventEmitter类  const EventEmitter = require('events'); // 所有事件触发对象的实例,就是所有对象都有下面这些属性和方法

            A:有newListeren事件,在添加监听器到内部监听器数组时触发的一个事件,就是.on()事件会触发,执行顺序在监听器之前。只能用once来监听

            B:removeListener事件,当移除监听器时触发,接收2个参数,事件名字和方法名字。

            C:defaultMaxListeners属性,一个事件默认监听数量,(超过会生效,但是有警告),

                实例相关的方法:getMaxListeners()//得到最大监听数量。setMaxListeners(n)设置最大监听器数量,当为0表示不限制

            包含的方法:

            1.on()添加一个监听器

            2.addListener().和上面一样,别名而已。

            3.onec(),某个事件只执行一次。

            4.emit() 事件触发器。

            5.eventNames()返回已注册的事件名数组。

            6.listenerCount(eventName) 返回名字为eventName监听器的数量。

            7.listeners(eventName)返回监听器方法的副本,得到一个函数组成的数组。

            8.off(eventName,fun), // 删除方法的别名

            9.removeListener(eventName,fun)//移除某个监听器。

            10,removeAllListeners([eventName]) // 删除所有的监听器.

            11.prependListener(eventName,fun) //添加事件到监听器数组的开头。

            12.prependOnceListener(eventName,fun) // 添加单次事件到监听器数组的开头。

            13.rawListeners() //返回 eventName 事件的监听器数组的拷贝,包括封装的监听器(例如由 .once() 创建的。

事件触发器,类似于发布订阅模式。只是做的更细,提供的api功能更多,出于内存大小的控制也对监听器数量做了个经验值大小限制。

            

转载于:https://my.oschina.net/u/3971746/blog/3000529

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值