详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]
重现步骤
[步骤]【安卓出现问题,网页和苹果均可以关闭websocket】在页面加载的时候链接websocket,按手机主键隐藏页面(onHide)或返回(onUpload)时想关闭websocket
[结果]关闭不了websockt,重新打开页面会出现重联
[期望]关闭websoket
var socketTask;
var socketOpen = false;
export default{
data(){
return{
}
},
onHide() {
console.log('onHide')
console.log(socketOpen)
console.log(socketTask.readyState)
//
// uni.onSocketClose(function (res) {//均不能关闭
// console.log('WebSocket 已关闭!');
// });
socketTask.close()//这种关闭在网页中和苹果中关闭成功
socketTask.onClose(function(res){//均不能关闭
console.log(res)
})
uni.onSocketOpen(function () {//均不能关闭
uni.closeSocket();
});
console.log(socketTask.readyState)
},
onShow(){
console.log('onshow')
this.connect()
},
onUnload(){
socketTask.close()
},
methods:{
connect(){
socketTask =uni.connectSocket({
url:'', //仅为示例,并非真实接口地址。
complete: ()=> {}
});
// // //打开websocket
uni.onSocketOpen(function (res) {
socketOpen=true;
console.log('WebSocket连接已打开!');
});
uni.onSocketMessage(function (res) {
console.log(res);
});
uni.onSocketError(function (res) {
console.log('WebSocket连接打开失败,请检查!');
});
uni.onSocketClose(function (res) {
//socketOpen=false;
console.log('WebSocket 已关闭!');
});
}
}
}
1 个回复
2***@qq.com - 蜗牛
请问解决了吗,我也同样遇见这个问题了,没走onClose方法,走的onError方法返回了一个