收藏
回答

在app.js中调用getUserInfo方法,globalData为什么会赋值失败?

因为项目需要,要在app.js中的onLaunch方法中调用getUserInfo这个方法,并且将得到的userInfo赋值给globalData中的user_info,然后我用我自己的想法,一直都是赋值失败,也就是globalData中的user_Info一直都是null,我知道getUserInfo是网络请求,但是暂时没想到解决的办法,各位前辈帮帮忙~~~

下面是完整代码:

回答关注问题邀请回答
收藏

3 个回答

  • 微盟
    微盟
    2019-12-27

    getUserInfo 是异步方法,你在外面打印是不行的,把console.log放到方法体内试试

    2019-12-27
    有用
    回复 1
    • 戒骄戒躁
      戒骄戒躁
      2019-12-27
      把console.log放进去的话 倒是有 但是赋值失败才是问题的根本哦
      2019-12-27
      回复
  • 陈
    2019-12-27

    你是不是发现console.log(that.glohalData.user_info)输出永远是空

    2019-12-27
    有用
    回复 3
    • 戒骄戒躁
      戒骄戒躁
      2019-12-27
      对的 对的永远都是空 这种的应该怎么解决呢
      2019-12-27
      回复
    • 陈
      2019-12-27回复戒骄戒躁
      出现这种情况是因为它是异步的,它先一步步执行下拉到getUserInfo ,然后不会等它完成了就会进入下一步,也是会打印出user_info的值 会为空,等getUserInfo 值行完后就会给user_info赋值了。你可以把你的调用写到getUserInfo 里面,这样就可以等user_info赋值了才调用,或者你写一个定时器,等user_info获取到了值就执行你的方法
      2019-12-27
      回复
    • 戒骄戒躁
      戒骄戒躁
      2019-12-27
      好的 好的 谢谢前辈 我再去试试
      2019-12-27
      回复
  • Once Was
    Once Was
    2019-12-27

    用户授权了吗,没授权直接进fail回调

    2019-12-27
    有用
    回复 1
    • 戒骄戒躁
      戒骄戒躁
      2019-12-27
      授权了 没有进错误回调 实在想不明白是怎么回事儿
      2019-12-27
      回复
登录 后发表内容
问题标签