收藏
回答

wx.closeSocket在苹果手机上不能正确调用

问题模块
API和组件


同样的代码,在安卓上没有问题,在苹果手机不能正确返回。

目前自己测试发现原因是如果调用了

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

最后一次编辑于  2017-11-29  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏投诉关注问题回答

2 个回答

  • 韬々
    韬々
    2017-11-29

    你好,感谢反馈,这里属于Android和iOS接口表现未对齐的问题,我们会在后续版本中进行修复。

    2017-11-29
    赞同
    回复
  • 人圭日月
    人圭日月
    2018-05-31

    2版本后的还是有问题啊。

    2018-05-31
    赞同
    回复