onReady() {
setTimeout(() => {
uni.createSelectorQuery().in(this).selectAll('.title').boundingClientRect(data => {
data.forEach(item => {
console.log(item)
})
}).exec()
}, 1500)
},
如上,微信开发工具中,在onReady中获取 接口返回的list中的title,如果不加setTimeout,就不会打印,加setTimeout需要设置1.5s以上,才能打印正确的数据,怎么解?1.5s太长了,

- 发布:2024-02-01 16:54
- 更新:2024-02-02 16:18
- 阅读:549

6***@qq.com (作者)
目前在接口返回后,加了$nextTick,里面再套了一层setTimeout,勉强可以用,希望各位大神能提供更多更好的思路
this.$nextTick(() => {
setTimeout(() => {
xxxxxxxxxxxx
}, 1)
})

6***@qq.com (作者)
图1是接口请求的代码,图2是加了1毫秒的定时器返回的数据,是正确的,能正确定位滚动的数据,图3是不加定时器返回的结果,有结果的,但是不准确,和onReady里写在nextTick里面返回的数据一样,图3一万多的数据不对,不清楚是什么原理
6***@qq.com (作者)
在接口返回时调用createSelectorQuery,打印不出来东西
2024-02-01 17:23
blackhole7878
回复 6***@qq.com: 用$nextTick啊
2024-02-01 17:38