收藏
回答

sendSocketMessage:fail taskID not exist

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug websocket SocketTask.send 客户端 7.0.4 2.7.2

会话内消息卡片点击跳转小程序路径

  但是实际上并没有跳转到填写的路径里,只是回到了button按钮在的页面


websocket

SocketTask.send发送消息,有时提示:sendSocketMessage:fail taskID not exist,退出此聊天页面,重新进入也不可以,一直走fail



最后一次编辑于  06-20
回答关注问题邀请回答
收藏

1 个回答

  • 社区技术运营专员-小柿子
    社区技术运营专员-小柿子
    06-20

    麻烦提供出现问题的具体机型、微信版本号、系统版本号,以及能复现问题的代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)

    06-20
    赞同
    回复 5
    • 郝慧敏
      郝慧敏
      06-20

      具体机型:iphone XR   微信版本号:7.0.4     系统版本号:ios 12.3.1

      代码片段:

      onLoad(){     

          if (socketOpened != 0 && socketOpened!=1){

              console.log(socketOpened)

              that.connect()

          }

      },

      connect() {

      var that = this;

      SocketTask = wx.connectSocket({

      url: '',

      success(res) {

      console.log('成功' + res)

      },

      fail: function (err) {

      wx.showToast({

      title: '网络异常!',

      })

      console.log(err)

      }

      });

      if (SocketTask) {

      SocketTask.onOpen(res => {

      socketOpened = SocketTask.readyState;

      console.log('监听 WebSocket 连接打开事件。', res)

      console.log(SocketTask.readyState) //0 连接中 1已连接 2关闭中 3已关闭

      if (socketMsgQueue != '') {

      for (var i = 0; i < socketMsgQueue.length; i++) {

      console.log(socketMsgQueue[i])

      that.sendSocketMessage(socketMsgQueue[i])

      }

      }

      socketMsgQueue = [];

      })

      SocketTask.onClose(onClose => {

      console.log(SocketTask.readyState)

      console.log('监听 WebSocket 连接关闭事件。', onClose)

      socketOpened = SocketTask.readyState;

      that.connect()

      })

      SocketTask.onError(onError => {

      console.log(SocketTask.readyState)

      console.log('监听 WebSocket 错误。错误信息', onError)

      socketOpened = SocketTask.readyState

      })

      SocketTask.onMessage(onMessage => {

      console.log('监听WebSocket接受到服务器的消息事件。服务器返回的消息', JSON.parse(onMessage.data)

      })

      }

      },

      sendSocketMessage(msg,type,img) {

      console.log(msg)

      var that = this;

      if (typeof (msg) === 'object') {

      msg = JSON.stringify(msg);

      }

      console.log(socketOpened)

      if (SocketTask.readyState == 1 && socketOpened==1) {

      SocketTask.send({

      data: msg,

      success: function (res) {

      console.log('发送成功')

      console.log(res)

      },

      fail(err) {

      console.log('发送消息失败', err)

      备注:有时候一直走这里啊,一直走这里,提示taskID not exist

      }

      });

      } else { // 发送的时候,链接还没建立

      socketMsgQueue.push(msg);

      console.log(socketMsgQueue)

      }

      },


      06-20
      回复
    • 社区技术运营专员-小柿子
      社区技术运营专员-小柿子
      06-20回复郝慧敏

      代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)这个格式的代码片段

      06-20
      回复
    • 郝慧敏
      郝慧敏
      06-20回复社区技术运营专员-小柿子

      https://developers.weixin.qq.com/s/sXIGKgmd709N

      06-20
      回复
    • 社区技术运营专员-小柿子
      社区技术运营专员-小柿子
      06-20回复郝慧敏

      有报错,麻烦重新提供下

      06-20
      回复
    • 郝慧敏
      郝慧敏
      06-20回复社区技术运营专员-小柿子

      我还需要把公司的域名链接给您?不合理吧

      06-20
      回复