我正在使用Node.js net程序包连接到Telnet服务器并与之通信。我正在使用net.createConnection()
创建和初始化套接字;然后执行以下操作来绑定初始数据事件侦听器:
client.on('data', (data) => { this.handleFoo(data) });
我认为在不同的回调中封装不同的功能可能是个好主意;一种用于协商连接,登录等。一种用于通用通信。
[我尝试再次简单地调用.on()
,以查看是否可以将事件监听器回调替换为没有所有连接/登录代码的东西:
client.on('data', (data) => { this.handleBar(data) });
不幸的是,这没有任何作用,并且原始回调再次被调用。这可能吗?
我找不到另一个注销该第一个侦听器回调的套接字方法。
感谢。
您需要一个命名函数。使用从Node.js v10.0.0起可用的client.removeListener()
或client.removeListener()
。这些对client.off()
可用,因为它扩展了client.off()
。
net.Socket