Javascript 是否可以调出Node.js net socket数据事件侦听器?
我正在使用Node.js包连接到Telnet服务器并与之通信。我正在使用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',
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);