这段代码有多处语法错误。首先,连接 WebSocket 时,应该使用 wx.connectSocket({...}),而不是 wx.connectSocket({...})({...})。其次,在 wx.onSocketMessage() 方法中,应该使用 result 作为参数名,而不是 res。最后,在使用 JSON.parse() 解析 WebSocket 返回的数据时,应该使用 result.data,而不是 res.data

下面是修改后的代码:

wx.connectSocket({
  url: 'https://liu-ln-hbhdnagmrn.cn-qingdao.fcapp.run',
});

wx.onSocketMessage((result) => {
  var data = JSON.parse(result.data);
  var message = data.message;
  var outputDiv = document.getElementById('output');
  outputDiv.innerHTML += message + '<br>';
});

错误信息分析:

错误信息“Unexpected token, expected "," (110:4)”表明在第 110 行的第 4 个字符处出现了一个意外的标记,应该是逗号 (,)。根据代码示例,第 110 行是 wx.connectSocket({...})({...}) 中的第二个 ({...}),这是错误的语法,因为 wx.connectSocket({...}) 方法应该返回一个 WebSocket 对象,而不是一个函数。

代码优化建议:

  • 使用 wx.connectSocket({...}) 连接 WebSocket,并使用 wx.onSocketOpen() 方法监听连接成功事件。
  • 使用 wx.onSocketMessage() 方法监听 WebSocket 消息,并在回调函数中使用 result.data 获取消息数据。
  • 使用 wx.onSocketError() 方法监听连接错误事件。
  • 使用 wx.closeSocket() 方法关闭 WebSocket 连接。

示例代码:

wx.connectSocket({  url: 'https://liu-ln-hbhdnagmrn.cn-qingdao.fcapp.run',});

wx.onSocketOpen((res) => {
  console.log('WebSocket 连接成功');
});

wx.onSocketMessage((result) => {
  var data = JSON.parse(result.data);
  var message = data.message;
  var outputDiv = document.getElementById('output');
  outputDiv.innerHTML += message + '<br>';
});

wx.onSocketError((res) => {
  console.log('WebSocket 连接错误:', res);  });

wx.closeSocket();
微信小程序 WebSocket 连接错误:Unexpected token, expected

原文地址: http://www.cveoy.top/t/topic/lUgS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录