问答详情
源自:5-24 大功告成

网速差的时候 缓存 内容还未插入,但是页面已经写入了,会出现页面script里面内容为空

网速差的时候 缓存 内容还未插入,但是页面已经写入了,会出现页面script里面内容为空

是否可以认为 同步xhr请求更好呢?

提问者:二哥常说做人要懂得开心 2017-08-05 15:02

个回答

  • CC老师
    2017-08-07 16:50:28

    可以这样理解,站点优化的两个重点,就是快,最快让用户看到页面主结构或者关键模块的方法,就是同步加载,在Html下载完成之后,立刻展示,异步方式加载其他不重要的模块或者文件,但是快还分为首次访问 和后面的多次访问,多次访问就涉及到了存,如果要存,我们就不能用Html同步加载方式,因为存储的东西,我们需要打包,需要管理在html中不利于我们管理,所以我们把他拆分了一个单独的接口来处理,至于同步还是异步,完全看具体业务的需求,ps:老师现在使用的第一次加载同步xhr,后续对本地资源更新,使用异步方式更新,通过过期cookie的方式发送一次 ,更新指令,然后页面在render完之后,会发起一个新的请求更新本地资源,但是这也会有,新上线的模块没有办法快速全量的弊端。

  • 日落伤心色
    2017-08-05 15:41:36

    插入缓存内容和你的网速是没有关系的. 因为缓存内容是缓存在你本地的,不再通过网络请求.所以你说的这种情况是不存在的.

    如果不用缓存,网络差的时候,异步请求内容,是会造成内容还没请求下来,页面是空的情况. 异步请求肯定比同步请求要好.因为是异步触发的

    比如我要请求7个文件,如果是同步请求的话, 第一个请求没有完成,后面的请求都不能发出,这叫同步请求.

    异步是你第一个请求还没请求完,后面的请求可以正常发出,这叫异步.

    就像你生活当中有7件事情要做, 全部你一个人做,就叫同步. 你把7件事分给7个人同时做,叫异步