我正在努力......
EventEmitter = require('events').EventEmitter
events = new EventEmitter()
events.emit.apply(null, ['eventname', 'arg1', 'arg2', 'arg3'])
...但它似乎不起作用或抛出错误,任何帮助?
答案 0 :(得分:1)
在Apply方法上,您需要通知两个参数: 有效范围(方法中的“this”是什么值)和参数数组。
答案 1 :(得分:0)
我认为EventEmitter的emit()
函数期望this
是一个实际的EventEmitter对象。如果传入events
对象,以下似乎可行。
events.emit.apply(events, ['eventname', 'arg1', 'arg2', 'arg3'])
虽然在这一点上,不妨只打电话
emit('eventname', 'arg1', 'arg2', 'arg3')
我猜测emit()
方法正在循环注册事件的内部列表,以查看是否存在匹配的事件。不确定这是否有帮助,只是我今天遇到的事情与事件一起工作......