uni-app scoketTask close 参数无效

uni-app scoketTask close 参数无效

开发环境 版本号 项目创建方式
Windows win11 HBuilderX
产品分类:uniapp/App

PC开发环境操作系统:Windows

PC开发环境操作系统版本号:win11

HBuilderX类型:正式

HBuilderX版本号:4.75

手机系统:Android

手机系统版本号:Android 15

手机厂商:vivo

手机机型:iqoo11s

页面类型:vue

vue版本:vue3

打包方式:云端

示例代码:

const socketTask = uni.connectSocket({
url: ‘wss://cms-dev.lanmaocard.com/test-api/websocket/111211’,
complete: () => {}
});

socketTask.onClose(e => {
console.log(e);
})

setTimeout(() => {
socketTask.close({code: 4001, reason: “主动关闭”})
}, 3000)


操作步骤:

const socketTask = uni.connectSocket({
url: ‘wss://cms-dev.lanmaocard.com/test-api/websocket/111211’,
complete: () => {}
});

socketTask.onClose(e => {
console.log(e);
})

setTimeout(() => {
socketTask.close({code: 4001, reason: “主动关闭”})
}, 3000)


预期结果:

onClose 正确失败到 关闭时传入的 code reason


实际结果:

onClose code固定为 1000 reason 为空


bug描述:

scoketTask close 时传入 code , reason 参数无效, onClose 监听到的参数 固定为 code 1000


更多关于uni-app scoketTask close 参数无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html

5 回复

这个onclose里面的reason是服务端关闭时给你发的,你本地close是发送给服务端的。

更多关于uni-app scoketTask close 参数无效的实战教程也可以访问 https://www.itying.com/category-93-b0.html


好吧, 小程序 h5 客户端 close 都是可以正常触发 onClose的,参数也正常能收到

回复 孤竹: 不应该吧? 客户端的onclose也是接收服务端返回的信息,客户端主动关闭,没必要把reason回调给onClose

回复 DCloud_Android_THB: onClose 时会处理重连,然后主动close时传入了 code, onClose收到是这个code 就不在重连了

回复 孤竹: 听起来你这个状态是客户端维护的,服务端给你发code是另外的逻辑。

回到顶部