收藏
回答

为什么不把onLoad和onShow做成同步的呢?

我是一个小程序开发小白,由于毕设进度挺赶的,所以没来得及在开始前,先把小程序文档细细的过一遍,开发到一半时出现了问题,发现某个数据死活取不出来,后来通过不断的debug发现是onLoad和onShow是异步执行的,以致我在onLoad中取的数据尚未拿到,onShow就已经进入request了(之前一直以为这俩是同步的,尴尬。。);虽然我也找到了我的问题,我想了解一下为啥不能把onLoad和onShow这俩做成同步呢?这样会出现什么问题呢?或者说这样做是弊大于利吗?


按我自己的设想是:

这俩异步执行,如果是两个关联性不大的任务分别在这俩里面执行可以提高执行效率。但是这样想感觉也不对,既然可以把两个异步执行的方法分别写在onLoad和onShow里面,那么同样可以把这样异步执行的两个任务都写在onLoad或者onShow里面啊,这样也没差啊?


从他们执行的时间来看:onLoad只在页面加载时执行;onShow会在跟其它页面交互的过程中执行多次,它监听页面显示;但是从这个视角看更容易让人误以为他们是分先后执行的了。。。。



js稀烂如我,求大佬指点。



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

3 个回答

  • 痛快科技
    痛快科技
    2019-04-29

    这两个执行是有先后的。onLoad中的函数未执行完,onShow开始执行了

    2019-04-29
    有用 1
    回复 1
    • 2019-04-29

      嗯,就是这样,我之前没仔细看文档还以为是onLoad执行完,onShow才执行,后来代码出错了,才知道这两个不是同步的

      2019-04-29
      回复
  • 轩辕狗剩
    轩辕狗剩
    2019-04-29

    你是在onload里执行了异步函数吗?

    2019-04-29
    有用
    回复 1
    • 2019-04-29

      是啊,之前就是这么干的,后来都回过头去改掉了。

      2019-04-29
      回复
  • 祺爸💎
    祺爸💎
    2019-04-29

    onload只拿options,其他加载时的操作全放onshow

    2019-04-29
    有用
    回复 1
    • 2019-04-29

      我现在差不多就是这样了,只求无错,赶快写完写论文了

      2019-04-29
      回复
登录 后发表内容