最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

是否可以换出Node.js网络套接字数据事件侦听器?

IT培训 admin 2浏览 0评论

是否可以换出Node.js网络套接字数据事件侦听器?

我正在使用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

是否可以换出Node.js网络套接字数据事件侦听器?

我正在使用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
发布评论

评论列表 (0)

  1. 暂无评论