V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
diy886
V2EX  ›  Android

是先请求接口再开页面,还是先开页面在请求接口

  •  
  •   diy886 · 2018-09-27 10:55:39 +08:00 · 4996 次点击
    这是一个创建于 2009 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我一直都是先开页面在请求接口,今天看帮 iOS 做测试发现他是先请求接口再开页面,两者有什么差异吗
    12 条回复    2018-09-27 15:04:42 +08:00
    rookies
        1
    rookies  
       2018-09-27 11:11:14 +08:00
    从体验上讲 先打开页面,然后谈个 loading 的动画 在请求接口 体验上会好一些
    如果抛开体验不谈 没啥区别
    sampeng
        2
    sampeng  
       2018-09-27 11:13:47 +08:00
    你先请求页面,然后页面超时。用户直接傻等。。合适么。。。
    sampeng
        3
    sampeng  
       2018-09-27 11:14:09 +08:00
    先请求再开页面的都是偷懒搞法。。。直接怼回去谢谢
    learnshare
        4
    learnshare  
       2018-09-27 11:15:30 +08:00
    用户操作完没反应是最糟糕的,多数场景先开页面再加载数据比较好
    danielmiao
        5
    danielmiao  
       2018-09-27 11:16:09 +08:00
    根据业务逻辑吧,如果需要根据不同的逻辑跳转不同页面,肯定先请求接口,如果是固定页面,肯定先开页面
    raynor2011
        6
    raynor2011  
       2018-09-27 11:18:13 +08:00 via Android
    同时来不行吗
    xmsz
        7
    xmsz  
       2018-09-27 11:18:20 +08:00
    我说一下我自己前端的处理方法

    在页面前请求 [授权类] 接口
    在页面后请求 [页面] 相关接口


    页面类的肯定是页面后再请求,因为及时给用户反馈更重要
    wizardforcel
        8
    wizardforcel  
       2018-09-27 12:01:34 +08:00
    我用过的主流应用,比如贴吧,微博,豆瓣等,都是先开页面再请求数据。具体反应就是,网速慢的情况下,明显可以看到 loading。。
    nicevar
        9
    nicevar  
       2018-09-27 13:07:32 +08:00
    具体看场景,常规来说先展示后请求保证用户感受,但是时代不一样了,现在的网速太快了,如果页面内容不是特别多的情况下,先后差别不大
    shijianit
        10
    shijianit  
       2018-09-27 13:14:07 +08:00
    先启动页面,在请求,请求中显示 loading 效果,请求失败展示失败原因和重试按钮
    shijianit
        11
    shijianit  
       2018-09-27 13:15:32 +08:00
    请求到到列表数据为空,也要展示没有数据到页面效果
    vegetta
        12
    vegetta  
       2018-09-27 15:04:42 +08:00
    1 楼正解
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5557 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 01:38 · PVG 09:38 · LAX 18:38 · JFK 21:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.