使用Rest 参数传递参数调用时报错
接受参数处
emit(eventName: string, ...param: unknown[]) {
if (this.eventDir.has(eventName)) {
this.eventDir.get(eventName).forEach(({func,ctx}) => {
ctx ? func.apply(ctx, ...param) : func(...param);
})
}
}
调用处
EventManager.Instance.emit('string',customEventData as CONTROLLER_ENUM);
报错原因为使用apply时,传递的参数必须为数组类型,
即func.apply(this,[ ])如下解决问题
EventManager.Instance.emit(‘string',[customEventData as CONTROLLER_ENUM]);