EventEmitter类
如上一节所述,EventEmitter类位于事件模块中。可通过以下代码访问-
当EventEmitter实例遇到任何错误时,它将发出“error”事件。添加新的侦听器时,将触发“newListener”事件,而删除侦听器时,将触发“removeListener”事件。EventEmitter提供多个属性,如on和emit。on属性用于将函数与事件绑定,emit用于触发事件。
方法 |
描述 |
addListener(event, listener) |
在侦听器数组的末尾为指定事件添加一个侦听器。不检查是否已添加侦听器。通过事件和侦听器的相同组合的多个调用将导致侦听器被多次添加。返回发射器,因此可以链接调用。 |
on(event, listener) |
在侦听器数组的末尾为指定事件添加一个侦听器。不检查是否已添加侦听器。通过事件和侦听器的相同组合的多个调用将导致侦听器被多次添加。返回发射器,因此可以链接调用。 |
once(event, listener) |
向事件添加一次侦听器。仅在下次触发事件时才调用此侦听器,然后将其删除。返回发射器,因此可以链接调用。 |
removeListener(event, listener) |
从侦听器数组中删除指定事件的侦听器。注意-它将更改侦听器后面的侦听器数组中的数组索引。 removeListener最多将从侦听器数组中删除一个侦听器实例。如果已针对指定事件多次将任何单个侦听器添加到侦听器数组,则必须多次调用removeListener才能删除每个实例。返回发射器,因此可以链接调用。 |
removeAllListeners([event]) |
删除所有侦听器,或指定事件的侦听器。删除添加在代码其他位置的侦听器不是一个好主意,尤其是当侦听器位于您未创建的发射器上时(例如套接字或文件流)。返回发射器,因此可以将调用链接起来setMaxListeners(n)默认情况下,如果为特定事件添加了10个以上的侦听器,则EventEmitters将打印警告。这是一个有用的默认值,有助于查找内存泄漏。显然,并非所有发射器都应限制为10个。此功能可以增加该发射器。设置为零表示无限。 |
listeners(event) |
返回指定事件的侦听器数组。 |
emit(event, [arg1], [arg2], [...]) |
使用提供的参数按顺序执行每个侦听器。如果事件具有侦听器,则返回true,否则返回false。 |