小程序
小游戏
企业微信
微信支付
扫描小程序码分享
做了一个socket来异步调用,第一次进来怎么调用都会响应,第二次打开页面在onShow里面调用没问题,收到socket消息调用就没响应了,数据怎么都设置不了,但是设置一个按钮点击调用就没问题,求大神解答
5 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
这里不是this指向的问题,如果是this指向你在第一次进来就会报错。实际上这里的问题是在页面销毁时没有调用wx.closeSocket导致还在使用之前的socket对象,并且由于闭包或者其他的原因你这里setData并不是改变的当前页面的数据,这里你可以使用console.log与微信自带的调试工具去对比appData。
以上bug出现原理为个人猜测,下面附上我的解决方法:
在unload生命周期中添加:
onUnload(){ wx.closeSocket() }
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
大哥解决了吗 ,求解决方法
是第二次进来引用的还是第一次进来的that吗?
截图也全一点,鬼知道你that指向谁
that 哪里来的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
这里不是this指向的问题,如果是this指向你在第一次进来就会报错。实际上这里的问题是在页面销毁时没有调用wx.closeSocket导致还在使用之前的socket对象,并且由于闭包或者其他的原因你这里setData并不是改变的当前页面的数据,这里你可以使用console.log与微信自带的调试工具去对比appData。
以上bug出现原理为个人猜测,下面附上我的解决方法:
在unload生命周期中添加:
onUnload(){ wx.closeSocket() }
大哥解决了吗 ,求解决方法
是第二次进来引用的还是第一次进来的that吗?
截图也全一点,鬼知道你that指向谁
that 哪里来的