我正在尝试做...
EventEmitter = require('events').EventEmitter
events = new EventEmitter()
events.emit.apply(null, ['eventname', 'arg1', 'arg2', 'arg3'])
...但它似乎不起作用或抛出错误,有什么帮助吗?
我正在尝试做...
EventEmitter = require('events').EventEmitter
events = new EventEmitter()
events.emit.apply(null, ['eventname', 'arg1', 'arg2', 'arg3'])
...但它似乎不起作用或抛出错误,有什么帮助吗?
在 Apply 方法上,您需要通知两个参数:有效范围(方法内的“this”将是什么值)和参数数组。
我认为emit()
EventEmitter 的功能期望this
是一个实际的 EventEmitter 对象。如果您传入对象,则以下内容似乎有效events
。
events.emit.apply(events, ['eventname', 'arg1', 'arg2', 'arg3'])
虽然在这一点上,还不如打电话给
emit('eventname', 'arg1', 'arg2', 'arg3')
我猜该emit()
方法正在循环访问已注册事件的内部列表,以查看是否有匹配的事件。不知道这是否有帮助,只是我今天在处理活动时遇到的事情......