收藏
回答

云开发的小程序只在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()
      }
    })
最后一次编辑于  2021-06-18
回答关注问题邀请回答
收藏

2 个回答

  • 简
    2021-06-18

    已经解决,pc端监听的返回的数据大小的限制,所以加个limit()做个限制

    2021-06-18
    有用 1
    回复
  • 微盟
    微盟
    2021-06-18

    排查下这个报错。

    socket 接受消息后, JSON.parse 报错

    2021-06-18
    有用
    回复 1
    • 简
      2021-06-19
      这里并没有用到JSON.parse
      2021-06-19
      回复
登录 后发表内容