小程序
小游戏
企业微信
微信支付
扫描小程序码分享
使用小程序的onReachBottom的时候如果在数据没加载更新完成,用户又触底加载,会导致两次加载了一样的数据,甚至用户多触发几次会·多次加载相同的数据,你们怎么处理
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
自己做判断,还在加载中就不能再有新的加载,最基本的操作
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
我这边做分页加载,往旧数组 添加 请求返回数据的时候,会去校验一下,是否符合请求预期。
具体校验的形式,可能得看你们前后端之间的约定。
最简单的办法就是加一个锁变量,当请求开始时锁变量锁住,此状态下其他的请求一概不触发,当正在请求的数据返回之后,把锁变量的值打开,此时再进行请求就可以。
data:{ requestLock: flase }, loadData() { const self = this let lock = this.data.requestLock if (!lock) { this.setData({ requestLock: true }) wx.request({ success() { self.setData({ requestLock: false }) } }) } }
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
自己做判断,还在加载中就不能再有新的加载,最基本的操作
我这边做分页加载,往旧数组 添加 请求返回数据的时候,会去校验一下,是否符合请求预期。
具体校验的形式,可能得看你们前后端之间的约定。
最简单的办法就是加一个锁变量,当请求开始时锁变量锁住,此状态下其他的请求一概不触发,当正在请求的数据返回之后,把锁变量的值打开,此时再进行请求就可以。
data:{ requestLock: flase }, loadData() { const self = this let lock = this.data.requestLock if (!lock) { this.setData({ requestLock: true }) wx.request({ success() { self.setData({ requestLock: false }) } }) } }