同样的代码,在安卓上没有问题,在苹果手机不能正确返回。
目前自己测试发现原因是如果调用了
wx.onSocketOpen成功了就是已经打开了一个socket连接以后调用wx.closeSocket能正常执行,如果没有打开连接直接调用wx.closeSocket就不能正常执行
如这样的。
wx.onSocketOpen(function (res) {
console.log(‘WebSocket连接已打开!’);
wx.closeSocket({
success: function () {
console.log(“手动关闭socket连接11”);
},
fail: function () {
console.log(“手动关闭socket连接22”);
},
complete: function () {
console.log(“手动关闭socket连接33”);
}
})
})
在wx.onSocketOpen里写就能打印出来信息,如果在未开启socket连接的onShow中调用就不能打印
onShow: function () {
var that = this
console.log(“111122223333”);
wx.closeSocket({
success: function () {
console.log(“手动关闭socket连接1”);
},
fail: function () {
console.log(“手动关闭socket连接2”);
},
complete: function () {
console.log(“手动关闭socket连接3”);
}
})
console.log(“333322221111”);
},
这里面就不能打印出来,只能打印出"111122223333" 和 “333322221111”。
在安卓没发现这个问题,苹果有这个问题。不知道是Bug还是我的使用方式不规范
刚发现安卓也突然不好用了,表现症状一样。不知道这算是使用方式不规范还是接口的bug