Javascript 在浏览器中关闭WebSocket连接时是否必须手动删除事件侦听器?

Javascript 在浏览器中关闭WebSocket连接时是否必须手动删除事件侦听器?,javascript,websocket,event-handling,Javascript,Websocket,Event Handling,我正在使用由提供的本机方法 我想知道是否需要删除事件侦听器,因为WebSocket的MDN示例中也没有提到removeEventListener方法 我使用的事件方法如下: const ws = new WebSocket(url); ws.onopen = () => {} 此外,我想知道如果我使用ws.close()方法关闭连接,是否需要删除事件侦听器。我想在清理过程中,它无论如何都会删除侦听器。“在挖掘socket.io源之后,socket对象(即EventEmitter)在客户端

我正在使用由提供的本机方法

我想知道是否需要删除事件侦听器,因为WebSocket的MDN示例中也没有提到
removeEventListener
方法

我使用的事件方法如下:

const ws = new WebSocket(url);
ws.onopen = () => {}
此外,我想知道如果我使用
ws.close()
方法关闭连接,是否需要删除事件侦听器。我想在清理过程中,它无论如何都会删除侦听器。

“在挖掘socket.io源之后,socket对象(即EventEmitter)在客户端断开连接时删除,因此无需手动调用removeAllListener“


从此处复制:

您必须手动删除事件侦听器。 事实上,添加的侦听器将在元素上保持活动状态,直到它们被销毁或在现代浏览器中被手动删除。
您可以尝试测试事件是否在web套接字连接关闭后触发。

是否可能重复?虽然这个问题是关于node.js@Nikki9696的,但这个问题是关于Socket.IO库的,而我是关于WebSocket API本机方法的。我对Django通道进行了一些测试,发现无论是否使用.removeEventListener,WS连接都会关闭,关闭服务器所需的唯一一件事就是WS.close()所以我认为你不应该手动操作,虽然我不能完全确定问题是关于WebSocket API,而不是socket.io,而且据我测试,它们在连接关闭时被删除。如果我发现其他内容,将更新