微信小程序 WebSocket 连接错误:Unexpected token, expected "," (110:4)
这段代码有多处语法错误。首先,连接 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();
原文地址: http://www.cveoy.top/t/topic/lUgS 著作权归作者所有。请勿转载和采集!