onSocketError 监听器怎么关闭 当连接中断活着失败 每创建一个connectSocket 用onSocketError 来监听状态在失败时执行操作 但是 创建的监听器一直都在 用uni.closeSocket() 清除也不行 这样会导致一直尝试重新连接时候 onSocketError会原来越多
socketTask = uni.connectSocket({
url: httpUrl.VITE_WSS_URL,
success(data) {
lingState = true
// clearInterval(timer) //关闭定时器
// clearInterval(heartTimet) //关闭心跳定时器
console.log("创建连接!");
// 监听是否连接
uni.onSocketOpen(function(res) {
console.log('发送初始化数据!');
sendMsg({
type: '7',
params: {
userId: userData.user_id ? userData.user_id : '',
platform: 'app'
},
})
heartLink()
});
}
});
uni.onSocketError(function(res) {
lingState = false
backMsgFun('error')
// if (timer === null) {
if (!resultState) {
resultInit(22222)
}
// }
});
const resultInit = (y) => {
resultState = true
// console.log(y)
// console.log("开始断线重连!!!!!!!!!!!");
timer = setInterval(() => {
uni.closeSocket()
socketTask = null;
socketError = null
console.log("重新连接中...");
initWebsocket()
}, 2000)
}
3 个回复
2***@qq.com
请问怎么解决的,感觉uni好垃圾啊
前端废柴
我为什么不能发布问题???
2***@qq.com
快半年了还是这样