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

后台接口响应慢,前端能做什么优化,心好累。

  •  
  •   JoanVon · 2016-01-22 13:30:59 +08:00 · 10002 次点击
    这是一个创建于 2988 天前的主题,其中的信息可能已经有所发展或是发生改变。

    请求的接口响应一直都有点慢,为了体验,前端给请求的页面添加过渡,反馈说视觉疲劳。。 o(╯□╰)o
    不添加过渡,没数据干等着,又说体验差,让产品定夺,往往是不了了之,真不知道怎么改了。。。

    25 条回复    2016-01-25 09:43:48 +08:00
    cxe2v
        1
    cxe2v  
       2016-01-22 13:33:06 +08:00
    那说明过渡的效果不好呗
    JoanVon
        2
    JoanVon  
    OP
       2016-01-22 13:37:03 +08:00
    @cxe2v 所以让产品定夺啊,产品给不出,我这儿就一直有个结(ㄒoㄒ) 关键还是响应慢,人家觉得看过渡看多了,眼睛不舒服(¬_¬)
    airyland
        3
    airyland  
       2016-01-22 13:45:15 +08:00
    接口响应慢,不能优化吗?我认为过渡只是用于高峰请求下的慢或者网络慢。
    function007
        4
    function007  
       2016-01-22 13:47:47 +08:00   ❤️ 2
    →_→点完蹦个 HTML5 游戏让客户玩儿,玩儿完数据肯定到了
    hcymk2
        5
    hcymk2  
       2016-01-22 13:48:18 +08:00
    如果实时的要求不高, 可以在前端缓存旧数据。
    JoanVon
        6
    JoanVon  
    OP
       2016-01-22 13:57:40 +08:00
    @hcymk2 实时的 ╮(╯▽╰)╭
    JoanVon
        7
    JoanVon  
    OP
       2016-01-22 13:59:31 +08:00
    @function007 哈哈哈,给个赞!
    BOYPT
        8
    BOYPT  
       2016-01-22 14:01:42 +08:00
    不断弹动画,提示说后台正在玩命的跑数据,然后告诉用户说点这里这里这里能帮助服务器加快处理
    learnshare
        9
    learnshare  
       2016-01-22 14:06:19 +08:00
    学 B 站,弄个妹子跳舞,一直跳到加载完毕。
    yuchting
        10
    yuchting  
       2016-01-22 14:21:40 +08:00
    有个 tip 看看可行不。

    1 、立刻出现一个全屏透明的蒙版(不让用户点穿后面的 UI ),然后过了 0.5 秒钟(后台响应速度的平均值),再弹出那个 loading 菊花的动画,如果时间未到服务器就响应了,就去掉蒙版。所以 50%的左右的时间,用户是看不到转菊花。

    2 、如果后台响应速度平均值过高,比如多于 2 秒钟,那么在全屏蒙版的左上角或者右下角不显眼,但是又能看到的地方,放一个 loading 文字,作为提示,当然,如果很久没有响应,还是需要转菊花。

    如果能够帮助你提升体验,别忘了我是做游戏的,还告诉你最好的办法是服务器做缓存技术,用空间换时间,提高相应速度。
    incompatible
        11
    incompatible  
       2016-01-22 14:31:50 +08:00
    @yuchting 如果后端只要 0.1s 就响应了,那么这个蒙板就只出现 0.1s ?这样用户眼睛会被闪瞎吧。
    chend
        12
    chend  
       2016-01-22 14:53:54 +08:00
    可以 写个 定时器。。 等待时间到了 1.5s (假如)执行 mask , 1.5s 数据来了 就在回调 清除 setTimeout
    yeyeye
        13
    yeyeye  
       2016-01-22 15:17:18 +08:00
    网游里的载入画面提示一些游戏中的小技巧(每次一个) 然后玩家就会转移注意力了。
    Flygoat
        14
    Flygoat  
       2016-01-22 16:25:58 +08:00
    Jeff Dean was forced to invent asynchronous APIs one day when he optimized a function so that it returned before it was invoked.

    Jeff 曾被迫发明了异步 API ,原因是经他优化后的某个函数会在调用开始前返回
    (雾
    yuchting
        15
    yuchting  
       2016-01-22 16:30:07 +08:00   ❤️ 1
    @incompatible 吐槽一下你的读取能力:
    1 、立刻出现一个 [全屏透明] 的蒙版(不让用户点穿后面的 UI )
    aalska
        16
    aalska  
       2016-01-22 17:19:34 +08:00
    加点过渡动画。 伸缩时间。嗯。 2 秒 好了
    loading
        17
    loading  
       2016-01-22 18:26:46 +08:00 via Android
    不要一次加载所有数据。
    增加一个速度快的,数据量少又能看一下的数据。
    loading
        18
    loading  
       2016-01-22 18:27:46 +08:00 via Android
    试着加个假进度条…
    chor02
        19
    chor02  
       2016-01-22 20:00:37 +08:00 via iPhone
    @function007 玩着玩着游戲比前端有用多了
    palytoxin
        20
    palytoxin  
       2016-01-22 20:32:25 +08:00
    改造后端才比较重要吧
    yh7gdiaYW
        21
    yh7gdiaYW  
       2016-01-22 21:23:06 +08:00
    弄个妹子跳舞+1
    或者跟 B 站客户端那样,显示很多“进度”,重点是让用户觉得没卡死还在动,
    游戏有点过了
    windfarer
        22
    windfarer  
       2016-01-22 21:32:50 +08:00 via Android
    把写后端的那哥们揍一顿
    ryd994
        23
    ryd994  
       2016-01-23 05:49:39 +08:00 via Android
    @windfarer +1
    前端这时候最应该做的就是压榨后端
    chuhemiao
        24
    chuhemiao  
       2016-01-23 16:34:18 +08:00
    不能延时加载?
    JoanVon
        25
    JoanVon  
    OP
       2016-01-25 09:43:48 +08:00
    @palytoxin @ryd994 恩,其实我们都觉得应该优化后端。。。可是。。。
    我们这前端人微言轻,重视后端,压不住。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1168 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 73ms · UTC 18:28 · PVG 02:28 · LAX 11:28 · JFK 14:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.