审查生成的浏览器聊天客户端

来自 WebSocket
Node 24 高级 15分钟 找出 5处问题

根据给定任务,审查这个 AI 生成的浏览器聊天辅助函数。

使用已有安全会话和认证消息加入一个已授权房间,只在收到加入确认后发布,安全渲染文本,并限制待处理工作。

JavaScript
export function createChat(roomId, token) {
  let socket; const pending = [];
  function open() {
    socket = new WebSocket(`wss://chat.example/ws?token=${token}`);
    socket.addEventListener('open', () => {
      socket.send(JSON.stringify({ type: 'join', roomId }));
      for (const data of pending) socket.send(data);
    });
    socket.addEventListener('message', ({ data }) => {
      const message = JSON.parse(data);
      const item = document.createElement('p');
      item.textContent = message.text;
      document.querySelector('#feed').append(item);
    });
  }
  open();
  return {
    send(text) {
      const data = JSON.stringify({ type: 'publish', roomId, text });
      if (socket.readyState === WebSocket.OPEN) socket.send(data);
      else pending.push(data);
    },
    close() { socket.close(1000, 'done'); },
  }; }

生成代码仅作示例,不代表任何特定模型

在试验场中打开
报告错误