Javascript socket.io事件的新实例与标准函数内存使用情况

Javascript socket.io事件的新实例与标准函数内存使用情况,javascript,node.js,typescript,socket.io,Javascript,Node.js,Typescript,Socket.io,我使用typescript和socket.io。标准解决方案如下所示: socket.on('event', (msg: any, cb:Function) => self.eventFn(msg, cb)); socket.on('event', (msg: any, cb:Function) => new EventClass(msg, cb)); 事件的函数太长和太深,因为有许多异步调用堆栈(300-600行,8-10深度)。为了解决这种恼人的代码设计,我开始考虑使用类,而

我使用typescript和socket.io。标准解决方案如下所示:

socket.on('event', (msg: any, cb:Function) => self.eventFn(msg, cb));
socket.on('event', (msg: any, cb:Function) => new EventClass(msg, cb));
事件的函数太长和太深,因为有许多异步调用堆栈(300-600行,8-10深度)。为了解决这种恼人的代码设计,我开始考虑使用类,而不是像这样的函数:

socket.on('event', (msg: any, cb:Function) => self.eventFn(msg, cb));
socket.on('event', (msg: any, cb:Function) => new EventClass(msg, cb));
在这种情况下,我可以将过程的一部分划分为几个小单元,我想代码的可重用性也会更好。这对我来说很好,但我担心这会占用更多内存,因为我会在每个套接字事件上创建一个新实例,可能它也会占用更多CPU


因此,问题是:我的担心是合法的吗?

关于内存泄漏,请尝试检查或跟踪内存使用情况。您所说的“由于许多异步调用堆栈,事件的功能太长和太深”是什么意思?不能只调用一些外部函数吗?我们使用的结构是基于控制器的,因此,例如,有一个用户控制器,所有事件侦听器都在该控制器中,这意味着许多事件,如果我们将这些部分分离为外部函数,我们可能会有数百个函数。顺便说一句,也许我们应该改变基本概念,每个文件使用一个侦听器,所以我们应该使用事件基础结构,而不是控制器基础结构。我不知道这是一个可以接受的方式,但问题是好的,谢谢!:)关于内存泄漏,请尝试检查或跟踪内存使用情况。您所说的“由于许多异步调用堆栈,事件的函数太长和太深”是什么意思?不能只调用一些外部函数吗?我们使用的结构是基于控制器的,因此,例如,有一个用户控制器,所有事件侦听器都在该控制器中,这意味着许多事件,如果我们将这些部分分离为外部函数,我们可能会有数百个函数。顺便说一句,也许我们应该改变基本概念,每个文件使用一个侦听器,所以我们应该使用事件基础结构,而不是控制器基础结构。我不知道这是一个可以接受的方式,但问题是好的,谢谢!:)