实时数据推送在 iPhone 真机报错,Android不报错?

lxf2023-02-19 23:45:40

前言:

2021-11-21小编发现微信小程序用户:【AdminJS】提出了一个关于“实时数据推送在 iPhone 真机报错,Android不报错?”的问题,在问题中开发者李刚对该问题做了如下阐述:

问题类型:

问题描述:

报错内容:

<Error: errCode: -402009 realtime listener websocket
connection closed | errMsg: No Realtime Listeners,
code 3001, reason The client is terminating the
connection because no more realtime listeners exist
history states: UNINIT-(loginStart)
INIT_LOGGING_IN-(close)>
CLOSED>

代码

onLoad: function (options) {
this.tick()
// return
// 查找对方资料
let that = this
let _id = options._id
let oppositeOpenid = options.oppositeOpenid
let oppositeDocid = options.oppositeDocid
console.log(‘oppositeOpenid : ‘ + oppositeOpenid + ‘, oppositeDocid : ‘ + oppositeDocid + ‘, docId : ‘ + _id)
that.setData({
docId: _id,
oppositeOpenid: oppositeOpenid,
oppositeDocid: oppositeDocid
})

// 监听自身 matchpool 状态
const db = wx.cloud.database()
let watcher = db.collection(‘matchpool’).doc(_id).watch({
onChange: function (snapshot) {
console.log(‘snapshot’, snapshot)
console.log(‘docs’s changed events’, snapshot.docChanges)
console.log(‘query result snapshot after the event’, snapshot.docs)
console.log(‘is init data’, snapshot.type === ‘init’)
if (snapshot.docChanges.length > 0) {
let docChange = snapshot.docChanges[0]
let dataType = docChange.dataType
console.log(‘dataType : ‘ + dataType)
if (dataType == ‘remove’) {
console.log(‘对方已退出本次匹配’)
watcher.close()
that.setData({
oppositeExit: true
})
wx.showModal({
showCancel: true,
title: ‘退出本次会话?’,
content: ‘对方已退出,立即退出吗?’,
success: res => {
if (res.confirm) {
console.log(‘用户点击确定’)
wx.navigateBack({
delta: 1,
})
} else if (res.cancel) {
console.log(‘用户点击取消’)
}
}
})
}
}
},
onError: function (err) {
console.log(err)
}
})
that.setData({
watcher: watcher
})

db.collection(‘cuser’).where({
_openid: oppositeOpenid
}).get().then(res => {
console.log(‘opposite cuser : ‘, res)
if (res.data.length >= 1) {
let oppositeCuser = res.data[0]
that.setData({
oppositeCuser: oppositeCuser
})
}
}).catch(err => {
console.log(‘err : ‘, err)
})
},

注:以上是微信小程序开发者:”李刚”对于本问题的一些阐述,这里做一个引用,我们将实时关注微信小程序助手对该问题提出的解决方案

解决方案:

【AdminJS】微信小程序技术运营专员对用户李刚提出的实时数据推送在 iPhone 真机报错,Android不报错?给予如下回复

请具体描述问题出现的流程,并提供能复现问题的简单代码片段(https://developers.weixin.qq.com/miniprogram/dev/devtools/minicode.html)。

结语:

微信官方对于小程序倾入了大量精力,有了开源框架,微信官方智能小程序可以让第三方平台轻轻松松构建自己的小程序平台,还可以将小程序和APP关联起来,让你的APP不再是一座孤岛。

如果您也在使用微信小程序,请关注Adminjs.cn,如果您有关于微信小程序的使用问题请关注Adminjs.cn,如果您要找百度小程序模板、微信小程序模板请关注小程序模板网或者去微信开放社区找官方人员给予解决,相信微信官方在小程序上的发力会是一个里程碑!