小程序
小游戏
企业微信
微信支付
扫描小程序码分享
如上面两张图所示,我自己封装了一个websocket的js,在首页去调用这个方法,消息接收能监听到,我在首页会点进去一个聊天页面,需要实时去渲染接收到的聊天消息,聊天消息也存入了appjs里的一个全局数组里面,但是我在聊天页最多只能在进入页面时更新数组的内容,想问问如何做到实时更新。拜谢
帮忙解决掉,私人给个红包
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
没有代码片段,不确定具体是什么问题
大概猜测一下,是接收到socket推送后,只更新了app.gloalbalData,而index页面的数据没跟app.globalData同步更新。
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
同步更新了,但是我在另外一个chatRoom页面,无法实时渲染到页面上,比如我收到消息之后,我就渲染到聊天页面上
你确定是onSocketMessage没触发一次,页面就setData了一次吗?
你可以把代码贴出来看看,或者做个代码片段,更直观。
主要是onsocketmessage没有放在chatRoom里面触发,是放在index触发的,这方法还不能和连接websocket的方法分开,分开了就监听不到了
https://developers.weixin.qq.com/s/GBbSZAm47G4z
代码片段,你看一看吧
wx.onSocketMessage(function(res) {
wx.onSocketMessage(
function
(res) {
//你这里貌似该存个数组吧
app.globalData. xxx = xxx
let page = getCurrentPages()[getCurrentPages().length - 1];
if
(page.newMsg) {
page.newMsg(res)
}
})
// chatRoom
page({
newMsg(res){
console.log(
"new socket msg:"
,res)
我的socket 大概是这样的逻辑
坐等一个大手子回答
求来个人
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
没有代码片段,不确定具体是什么问题
大概猜测一下,是接收到socket推送后,只更新了app.gloalbalData,而index页面的数据没跟app.globalData同步更新。
同步更新了,但是我在另外一个chatRoom页面,无法实时渲染到页面上,比如我收到消息之后,我就渲染到聊天页面上
你确定是onSocketMessage没触发一次,页面就setData了一次吗?
你可以把代码贴出来看看,或者做个代码片段,更直观。
主要是onsocketmessage没有放在chatRoom里面触发,是放在index触发的,这方法还不能和连接websocket的方法分开,分开了就监听不到了
https://developers.weixin.qq.com/s/GBbSZAm47G4z
代码片段,你看一看吧
wx.onSocketMessage(
function
(res) {
//你这里貌似该存个数组吧
app.globalData. xxx = xxx
let page = getCurrentPages()[getCurrentPages().length - 1];
if
(page.newMsg) {
page.newMsg(res)
}
})
// chatRoom
page({
newMsg(res){
console.log(
"new socket msg:"
,res)
}
})
我的socket 大概是这样的逻辑
坐等一个大手子回答
求来个人