Javascript 是否可以调出Node.js net socket数据事件侦听器?

Javascript 是否可以调出Node.js net socket数据事件侦听器?,javascript,node.js,sockets,callback,Javascript,Node.js,Sockets,Callback,我正在使用Node.js包连接到Telnet服务器并与之通信。我正在使用net.createConnection()创建和初始化套接字;然后执行以下操作以绑定初始数据事件侦听器: client.on('data',(data)=>{this.handleFoo(data)}) 我认为在不同的回调中封装不同的功能可能是个好主意;一个负责协商连接、登录等。一个用于通用通信 我尝试再次调用.on(),查看是否可以将事件侦听器回调替换为不包含所有连接/登录代码的内容: client.on('data',

我正在使用Node.js包连接到Telnet服务器并与之通信。我正在使用
net.createConnection()
创建和初始化套接字;然后执行以下操作以绑定初始数据事件侦听器:

client.on('data',(data)=>{this.handleFoo(data)})

我认为在不同的回调中封装不同的功能可能是个好主意;一个负责协商连接、登录等。一个用于通用通信

我尝试再次调用
.on()
,查看是否可以将事件侦听器回调替换为不包含所有连接/登录代码的内容:

client.on('data',(data)=>{this.handleBar(data)})

不幸的是,这没有任何效果,原来的回调再次被调用。这可能吗

我找不到另一个可以取消注册第一个侦听器回调的套接字方法


谢谢。

您需要一个命名函数。从Node.js v10.0.0开始使用或可用。这些都是可用的,因为它扩展了


谢谢你,帕特里克!到家后我会试试这个,如果行得通,我会把你的答案标记为正确:)
const fooHandler = (data) => { this.handleFoo(data) };

client.on('data', fooHandler);
...
client.off('data', fooHandler);