在 WebSocket 中注销所有事件

Unregister all event in WebSocket

如何停止监听websocket中的所有事件。

const WebSocketClient = require('ws');
const ws = new WebSocketClient('wss://example.com');
ws.on('message', doFunction());

function doFunction() {
  if (condition) {
    //do some stuff
    //stop listening to event without closing the websocket connection
  }
}

ws.close()或ws.terminate()会关闭连接,我不想关闭连接。

您必须手动删除事件侦听器。它们在元素上保持活动状态,直到它们被销毁(或被浏览器删除)。

既然你的 WebSocketClient 扩展了 EventEmitter,你肯定可以调用 ws.removeAllListeners().

EventEmitter.removeAllListeners docs and ws#WebSocket docs 无论如何应该有所帮助。