收藏
回答

微信小程序 页面加载顺序

1,当我第一次登录的时候, 会让用户允许获取用户信息,这时候,会在 app.js里onLaunch 中走登录获取用户信息的步骤,得到用户的 uid,保存在 globalData 里。

2,在index 页面的 onload 里调用这个 保存在 globalData 里的 uid 来展示用户的信息。

以上是我想实现的步骤。

在开发中,遇到的问题是,在 app.js里还没等到获取用户的 uid,index 页面就已经加载出来了,导致在index 页面里无法展示用户信息,

所以求大神指点,这个操作应该怎么做,才能让uid 在 index 页面里正常被获取到?


最后一次编辑于  2018-01-21  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

10 个回答

  • Jake
    Jake
    2018-01-22

    开发的时候不能在app.js里面写事件获取用户,你可以用(console.log)调试看看app.js、index.js 里面的执行顺序。

    你可以单独在index.js里面获取

    2018-01-22
    赞同
    回复
  • 低调
    低调
    2018-01-24

    一般获取uid 都想全局 启动的时候获取这是常理,wx.request 异步导致的问题

    2018-01-24
    赞同
    回复
  • 田超
    田超
    2018-01-24

    你是怎么解决的呢?@低调

    2018-01-24
    赞同
    回复
  • 低调
    低调
    2018-01-24

    没办法,网上有同步接口,一般理论上来说页面加载后uid已经获取完毕,你可以再index里面再判断一次,如果没有获取到再获取一次,app里面的 request 记得

    if (this.userInfoReadyCallback) {

    this.userInfoReadyCallback(res)

    }


    2018-01-24
    赞同
    回复
  • 低调
    低调
    2018-01-24

    您应该是个人号吧,服务号在code换取appi的时候就已经取到了,个人号需要 解密才可以

    2018-01-24
    赞同
    回复
  • 田超
    田超
    2018-01-24

    好吧

    2018-01-24
    赞同
    回复
  • 田超
    田超
    2018-01-24

    不是,我是服务号,是在code换取的时候就取到了,但是这个时候,index已经加载完成了,所以,获取不到uid

    2018-01-24
    赞同
    回复
  • 低调
    低调
    2018-01-24

    .......你网络改是有多慢

    2018-01-24
    赞同
    回复
  • Jake
    Jake
    2018-01-24

    不是网络慢的问题,是执行的问题,app.js和index.js 有坑。

    建议你index写获取的方法页面,你可以单独在外面写一个方便,每次需要调用openid的时候都调用这个方便

    2018-01-24
    赞同
    回复
  • 田超
    田超
    2018-01-24

    谢谢,@jake

    2018-01-24
    赞同
    回复