在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
事件
Node里很多对象会分发事件: 每次有连接的时候 一般来说,事件名都遵照驼峰规则,但这不是强制规定,任何形式的字符串都可以做为事件名。 为了处理事件,通常将函数关联到对象上。这些函数也叫监听者(listeners)。在这个函数里, 类: events.EventEmitter你可以通过
当添加新的监听者时, EventEmitters会触发 emitter.addListener(event, listener)emitter.on(event, listener)添加一个监听者到特定
返回emitter。 emitter.once(event, listener)给事件添加一个一次性的listener,这个listener只会被触发一次,之后就会被移除。
返回emitter。 emitter.removeListener(event, listener)从一个某个事件的listener数组中移除一个listener。注意,这个操作会改变listener数组内容的次序。
返回emitter。 emitter.removeAllListeners([event])移除所有的listener,或者某个事件listener。最好不要移除全部listener,尤其是那些不是你传入的(比如socket或文件流)。 返回emitter。 emitter.setMaxListeners(n)默认情况下,给单个事件添加超过10个listener,事件分发器会打印警告。这样有利于检查内存泄露。不过不是所有的分发器都应该限制在10个,这个函数允许改变 listener数量,无论是0还是更多。 返回emitter。 EventEmitter.defaultMaxListeners
请注意, emitter.listeners(event)用于返回事件的listener数组。
emitter.emit(event[, arg1][, arg2][, ...])允许你使用指定的参数顺序的执行每一个listener. 如果事件有 listener,返回 类方法: EventEmitter.listenerCount(emitter, event)返回指定事件的listener数量。 Event: 'newListener'
添加listener的时候会触发这个事件。当这个事件触发的时候,listener可能还没添加到listener数组。 Event: 'removeListener'
删除listener的时候会触发这个事件。当这个事件触发的时候,listener可能还还没从listener数组移除。 |
请发表评论