onLond还没执行完onShow已经执行完,大家怎么解决?

发布于 8 年前作者 wei4210373 次浏览最后编辑 8 年前来自 ask

我需要:在首页的onLoad函数获取openid,onShow根据opneid显示对应内容。

遇到问题:但openid获得太慢,onShow就先执行完,把数据库集合中的所有数据都显示了

大家都是怎么解决首次加载该opneid数据的问题呢?(我使用云开发)

4 回复
xiulanjiang
xiulanjiang1 楼6 年前

方法很多种,我一般2合1的,都在onLoad里执行。onShow只处理每次页面显示时的一些简单逻辑

xliao
xliao2 楼6 年前

执行完获取openid之后再调用把数据库集合中的所有数据都显示的方法。然后获取完openid存本地,只有第一次openid会执行获取。

yang39
yang393 楼6 年前

可以试试在页面做一个标识,onLoad执行的时候不执行onShow的方法,把onShow的方法放onLoad里面

baiming
baiming4 楼6 年前

onLoad(){

//获取到 openid 之后

this.openid = xxxxx;

this.onShow();

}

onShow(){

if(this.openid !=null){

//onshow 要执行的内容

}

}