详细问题描述
V3模式下,创建成功后,如果连接失败触发关闭事件,报以下错误
TypeError: undefined is not an object (evaluating 'e.success')
非V3模式,创建成功后,如果连接失败触发关闭事件,正常不报错
[内容]
重现步骤
[步骤]
非V3模式下
methods: {
add(){
this.socketTask = uni.connectSocket({
url: 'wss://www.example.com/socket', //仅为示例,并非真实接口地址。
complete: ()=> {}
});
this.socketTask.onOpen(res => {
console.log('连接打开')
})
this.socketTask.onMessage(res => {
console.log('接受消息',res)
})
this.socketTask.onError(res => {
console.log('连接异常')
})
this.socketTask.onClose(res => {
console.log('连接关闭')
})
},
clear(){
console.log(this.socketTask)
this.socketTask.close()
}
}
[结果]
{
"CONNECTING": 0,
"OPEN": 1,
"CLOSING": 2,
"CLOSED": 3,
"readyState": 3
}
[步骤]
V3模式下
methods: {
add(){
this.socketTask = uni.connectSocket({
url: 'wss://www.example.com/socket', //仅为示例,并非真实接口地址。
complete: ()=> {}
});
this.socketTask.onOpen(res => {
console.log('连接打开')
})
this.socketTask.onMessage(res => {
console.log('接受消息',res)
})
this.socketTask.onError(res => {
console.log('连接异常')
})
this.socketTask.onClose(res => {
console.log('连接关闭')
})
},
clear(){
console.log(this.socketTask)
this.socketTask.close()
}
}
[结果]
TypeError: undefined is not an object (evaluating 'e.success')
{
"id": "1583203012584",
"_callbacks": {
"open": [null],
"close": [null],
"error": [null],
"message": [null]
},
"CLOSED": 3,
"CLOSING": 2,
"CONNECTING": 0,
"OPEN": 1,
"readyState": 3
}
[期望]
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
HBuilderX
[IDE版本号]
2.6.1.20200226
[windows版本号]
win10
[mac版本号]
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
APP
[运行端版本号]
编译器版本:2.6.1(v3)
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式是老模板模式还是新的自定义组件模式?]
V3
App运行环境说明
[Android版本号]
安卓10
[iOS版本号]
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
联系方式
[QQ]
2***@qq.com (作者)
这边测试发现不是数据存储的问题,是uni.connectSocket()的问题
2020-03-03 10:42