Socket.io Socket.off()未按预期工作
我试图将所有事件监听器从套接字中删除到特定事件,并在StackOveflow上找到了这一点 我按照答案进行操作,并尝试以下操作:Socket.io Socket.off()未按预期工作,socket.io,Socket.io,我试图将所有事件监听器从套接字中删除到特定事件,并在StackOveflow上找到了这一点 我按照答案进行操作,并尝试以下操作:socket.off('listenerName')从listenerName事件中删除所有侦听器,但此代码给了我一个错误: (node:27706) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE]: The "listener" argument must be of type Fu
socket.off('listenerName')
从listenerName
事件中删除所有侦听器,但此代码给了我一个错误:
(node:27706) UnhandledPromiseRejectionWarning: TypeError [ERR_INVALID_ARG_TYPE]: The "listener" argument must be of type Function. Received type undefined
我正在使用最新版本(2.3.0)的socket.io
。看起来,socket.off()
方法至少需要2个参数才能工作,我必须明确告诉它我要删除哪个函数。我试图搜索socket.io
的文档来查找此函数的定义,但我发现socket
继承了emitter
的每个方法,包括off()
方法
有人知道socket.io中是否有一个函数,我可以使用它从特定事件中删除所有侦听器,而无需显式地向它提供对最初添加的函数的引用吗?我在另一个函数中找到了解决方案 我已通过以下操作成功从特定事件中删除了所有事件侦听器:
socket.removeAllListeners("news");
我不知道你是如何从一个引用
socket.off('event\u name')
amdsocket.off('event\u name',listener)
到你的socket.off('listenerName')代码的答案中得到的。请仔细阅读。我认为您所说的只是一个命名问题,在下面的一行中,您将如何称呼event\u name
<代码>套接字.on('disconnect',function(){})代码>?因为我会调用listenerName
断开连接字符串。通过使用socket.io 2.3.0执行socket.off('disconnect')
,我得到了上述错误。因此,如果我弄错了,事件的名称
与我称之为监听器名称
的名称不同,请原谅,我会更正我的答案。但如果不是,也许你应该在否决和评论之前仔细阅读。