PurityChan
PurityChan
  • 发布:2019-09-29 09:42
  • 更新:2019-09-29 09:42
  • 阅读:1119

【报Bug】在vue模式中,uni.connectSocket 一整套流程都是正常,在nvue中离开socket页面就会报错

分类:nvue

详细问题描述

在子页面有个地图模块,调用了uni.connectSocket 实现地理位置信息上传,自己实现了一整套socket生命周期,在vue中,一点问题没有,由于nvue地图效果更好,尝试使用nvue,不过每次离开地图页面,在进行其他操作就会报错,经确认,确定是websocket引起的。

(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)

[内容]

重现步骤

进入页面,onload 调用 socke()

socket() {
let _this = this;
uni.connectSocket({
url: service.config.wsUrl
});
uni.onSocketOpen(function(res) {
console.log('WebSocket连接成功!');
_this.socketSendMsg();
_this.timer = setInterval(() => {
if(this.timerFlag){
_this.socketSendMsg();
}
}, 5000);
});
uni.onSocketError(function(res) {
console.log('WebSocket连接失败,请检查!');
});
uni.onSocketClose(function(res) {
console.log('WebSocket 已关闭!');
});
uni.onSocketMessage(function(res) {
let base64 = JSON.parse(res.data).base64;
let msg = Base64.Base64.decode(base64);
console.log(msg);
Voice(msg);
});
}

离开页面
onUnload() {
console.log(this.timer);
this.timerFlag = false;
clearInterval(this.timer);
uni.closeSocket({
success: (e) => {
console.log(e)
}
});
},

这套逻辑在 vue中很完美,nvue中目前也不会报错,离开页面后,在进行其他任何操作 就会报错 白屏 或者重启APP

报错如下

09:32:36.879 [Object] {"errMsg":"closeSocket:ok"} at pages\nmap\nmap.nvue:216
09:32:45.997 32:42.799 15347 21612 E console : [ERROR] reportJSException >>>> exception function:callReportCrash, exception:weex core process crash and restart exception
09:32:46.216 Error: [JS Framework] Using invalid instance id "15" when calling destroyInstance.

[步骤]

[结果]

[期望]

[如果语言难以表述清晰,拍一个视频或截图,有图有真相]

IDE运行环境说明

[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX

[IDE版本号]
2.3.3
[windows版本号]
win10
[mac版本号]

uni-app运行环境说明

[运行端是h5或app或某个小程序?]

[运行端版本号]

[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]

[编译模式是老模板模式还是新的自定义组件模式?]

App运行环境说明

[Android版本号]

[iOS版本号]

[手机型号]

[模拟器型号]

附件

[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]

[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]

[App安装包或H5地址]

[可重现代码片段]

联系方式

[QQ]

2019-09-29 09:42 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复