微信小程序用websocket获取用户是否有新信息 当信息数为零时报错问题解决

通过websocket连接java后台

wx.onSocketMessage(function (res) {
var objData = JSON.parse(res.data);
      console.log(objData.length);

获取res并转为json后 获取objData的长度来显示用户新信息数量

问题是如果信息为零时 res中没有数据 objData无法将res.data数据转为json

解决方法为在将res转换为json前判断res.data中是否为空

if (res.data != '') {
        var objData = JSON.parse(res.data);
      console.log(objData.length);
        that.globalData.shu = objData.length;
      }
      else{
        that.globalData.shu = 0;
      }

下面是完整代码



onLaunch: function () {
    // 获取用户信息
    var that = this;
    var wei = this.lc(function (wei) {
     // console.log(wei);

     // that.setData({ openid: wei.data.openid });
    wx.connectSocket({
      url: "ws://localhost:9090/xcxmvc/so",
    })

    //连接成功
    wx.onSocketOpen(function () {
      console.log("c" +wei.data.openid);
      wx.sendSocketMessage({
        data: wei.data.openid,
      })
    })
    wx.onSocketMessage(function (res) {
      
      if (res.data != '') {
        var objData = JSON.parse(res.data);
      console.log(objData.length);
        that.globalData.shu = objData.length;
      }
      else{
        that.globalData.shu = 0;
      }
    })


    //连接失败
    wx.onSocketError(function () {
      console.log('websocket连接失败!');
    })

    });
  },
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值