收藏
回答

页面onload 和网络请求的问题

问题模块
教程反馈

1

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

4 个回答

  • 黑白埋
    黑白埋
    2018-12-07

    有风险,看你代码的逻辑,应该是共享数据吧,用app.globalData来存储用户信息

    2018-12-07
    赞同
    回复 3
    • 努力写BUG
      努力写BUG
      2018-12-10

      如果页面已经onload,然后数据才回来,此时onload 读取app.globalData 还是没有数据的呀

      2018-12-10
      回复
    • 黑白埋
      黑白埋
      2018-12-10回复努力写BUG

      如果你需要这种方式,

      可以采用订阅(EventEmitter)的方式(自己百度一下就知道了),

      当共享数据变化时候发送给,

      已经订阅的页面。

      2018-12-10
      回复
    • 努力写BUG
      努力写BUG
      2018-12-10回复黑白埋

      是的,目前就是采用这中模式的

      2018-12-10
      回复
  • 再见,电脑崽
    再见,电脑崽
    2018-12-07

    一般情况不会,除非手机卡页面了

    你可以在getUserInfo的回调里临时保存数据到stroage里,页面加载onLoad里直接从缓存判断获取,并且也写上userInfoReadyCallback的回调函数。

    2018-12-07
    赞同
    回复 2
    • 努力写BUG
      努力写BUG
      2018-12-10

      如果页面已经onload,然后数据才回来,此时onload 读取app.globalData 还是没有数据的呀 这个思路和保存在app.globalData来存储用户信息 是一样的,

      2018-12-10
      回复
    • 再见,电脑崽
      再见,电脑崽
      2018-12-11回复努力写BUG

      你还有userInfoReadyCallback回调,双重判断了。

      2018-12-11
      回复
  • 简单的昵称
    简单的昵称
    2018-12-07

    应该不会,如果onload之前已经完成,说明在app.js里已经完成,app.js已经做了相应的处理

    2018-12-07
    赞同
    回复 1
    • 再见,电脑崽
      再见,电脑崽
      2018-12-07

      异步请求的还真说不准,如果手机有点垃圾,卡页面的概率还是存在的。

      2018-12-07
      回复
  • 管凯旋
    管凯旋
    2018-12-07

    app.js和首页代码异步执行的

    2018-12-07
    赞同
    回复 2
    • 努力写BUG
      努力写BUG
      2018-12-10

      所以说这个是没法避免的,官方设计程序的一个BUG

      2018-12-10
      回复
    • 管凯旋
      管凯旋
      2018-12-10回复努力写BUG

      感觉不算是bug,异步有异步的好处

      2018-12-10
      回复