onLond还没执行完onShow已经执行完,大家怎么解决?
发布于 7 年前 作者 wei42 10188 次浏览 来自 问答

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

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

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

4 回复

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

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

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

onLoad(){

//获取到 openid 之后

this.openid = xxxxx;

this.onShow();

}

onShow(){

if(this.openid !=null){

//onshow 要执行的内容

}

}

回到顶部