排查了好久发现是这个监听的错。之前在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()做个限制
排查下这个报错。
socket 接受消息后, JSON.parse 报错