微信小程序之云开发的小程序只在PC打开,watch中报错,其他设备上都很正常

之前在pc上也是正常的,突然报的这个错。
在这里插入图片描述
排查了好久发现是这个监听的错。
试过用get获取数据pc也是可以获取的,就是这个watch报了错
下面是代码片段

watcher = db.collection(database_name).orderBy('time', 'desc').where({
      // openid:wx.getStorageSync('openid'),
      uid:wx.getStorageSync('id')
    }).watch({
      onChange:function(data){
        console.log(data)
        if(data.docChanges.length==0){
          return
        }
        //当数据删除的时候
        if(data.docChanges[0].dataType=="remove"){
            console.log('删除')
        }else if(data.docChanges[0].dataType=="add"){
          // 语音播报
          if(data.docChanges[0].doc.msg_type==2){
            data_arr.push(data.docChanges[0].doc.msg)
            console.log(data_arr,'单个语音播报')
            audio_text(data_arr[0])
          }
        }
      },
      onError:function(err){
        watcher.close()
      }
    })

最后的最后无意间发现了问题所在:数据越来越多,初始化的时候返回的数据也就大了

pc端监听的返回的数据大小的限制。
解决方案:加个limit()做个限制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值