loading 动画 放在请求拦截里做统一处理,还是放在每个页面里?

关于 loading 动画,目前有两种方案:

1、放在请求拦截里,每次发起请求,都展示 loading 动画。优:这样做的好处是不用每次都写 loading 的开与关

2、放在页面里,对每次请求处理(单个或多个请求)做 loading 的开与关。缺:每个页面或请求里都得写 loading 的开关逻辑,很繁琐。

先直接回答问题:放在请求里统一处理。相比各个页面自己去控制,封装方法统一处理显然更方便、易于管理。

至于还会考虑"放到每个页面中处理",无非是请求情况的多样性、loading 处理灵活性的考虑。

一般来说,预留 loading 开关,就能兼顾大部分的情况。更丰富的接口参数可以设置 loading 的样式、时间长短,就差不多了。多个请求异步发起的情况。得在封装好的方法中,有一个计数器;有n个请求同时进行,只需要一个 loading 动画,直到收到n个响应再取消。

如果同一页面没有统一的管理方法,就可能会出现多个 loading 重叠了。

最后,关于 loading,还有一个用户体验方面的建议:不应该一请求,就来个 loading。

假设一个请求,2秒内就完成了全部操作,包括请求发起、服务器处理完毕、前端收到响应、页面渲染完毕…2秒的话这速度算比较快了对吧?但要是每个请求,都 loading 一下,用户心理上仍然觉得你慢。尽管显示 loading 的初衷,是为了及时给用户反馈,让用户知道操作已经进行中。如果以上的情况比较多的话,可以在封装的方法中,默认先不显示 loading,然后 setTimeout 2 秒后,还没收到响应就显示 loading,如果收到就取消这个计时。

当然,如果 loading 还有"屏蔽用户操作"的目的的话,就得一开始就显示了。

全局loading如何控制相关推荐

  1. 同时多个axios请求_用 React+Antd 封装 Axios 实现全局 Loading 效果

    前言 今天在做 react 后台管理的时候要实现一个全局 Loading 效果,通常使用 axios 库与后端进行数据交互.为了更好的用户体验,在每次请求前添加一个加载效果,让用户知道在等待加载. 要 ...

  2. axios vue 加载效果动画_vue+axios+element ui 实现全局loading加载示例

    实现全局loading加载 分析需求,我们只需要在请求发起的时候开始loading,响应结束的时候关闭loading,就这么简单 对不对? import axios from 'axios'; imp ...

  3. vue项目中设置全局loading时 遇到多个请求时loading加载显示问题

    问题详细描述 项目设置全局loading动画加载,如果页面一次加载了多个请求 ,当其中有一个接口请求成功后 loading加载动画会消失,但是其实 此时还有一个接口还未 请求成功 那么其实加载动画不应 ...

  4. axios中并发、继发请求的全局loading设置

    前言 项目中,全局loading一般是在整体内容区域进行展示,项目在调用接口的时候展示,接口调用完成后隐藏,防止在页面接口请求过程中用户进行意料之外的操作.这次就是对loading的一个处理过程 项目 ...

  5. react如何控制全局loading_React项目实现全局 loading 以及错误提示

    前言 在项目中使用 loading,一般是在组件中用一个变量( 如isLoading)来保存请求数据时的 loading 状态,请求 api 前将 isLoading 值设置为 true,请求 api ...

  6. vue 编写全局loading加载动画效果

    加粗1.loading组件样式 <template><transition name="fade"><section><div class ...

  7. vue自定义全局loading加载组件

    1.实现效果 2.实现原理 Vue.extend:extend 创建的是 Vue 构造器,可通过 new Profile().$mount('#mount-point') 来挂载到指定的元素上. vu ...

  8. matplotlib 的rcParams文件、常见的中文字体问题以及图片中全局字体大小控制

    1 matplotlib的两个常用配置 1.1 解决图片无法生成汉语文字的问题 使用这个命令,可以使得图片中的汉语得到显示,默认是无法显示汉语的. from pylab import mpl mpl. ...

  9. 微信小程序 全局字体控制(字体大小)

    现在要做一个全局字体大小控制的功能 此处的字体大小不是指字号, 而是全局的一个大小比例控制(0.7倍.1倍.1.5倍这样) 框架是Taro+scss+redux 预想是通过js控制scss里的变量,即 ...

最新文章

  1. 幼儿园课程体系结构图_全人教育、均衡发展课程体系介绍
  2. 平时用到那些linux命令,工作中经常用到的linux命令,你知道多少?
  3. 2018-2019 Exp2 后门原理与实践
  4. PP部分主数据导出SQVI设置
  5. MDK530编译出现ARM版本不符问题
  6. i5 1135g7什么水平_i7-10510U和i5-1135G7对比,该怎么选择呢?
  7. python绘制糖葫芦_python简单爬虫(一)
  8. Visual Studio2005下配置及运行NUnit
  9. android launcher3 home页简易分析
  10. Atitit.antlr实现词法分析
  11. java mp4转码 h264_10分钟学会Jave视频转码avi--gt;mp4(h264编码格式)!_Java_七九推...
  12. NDSS 2021 论文泛读
  13. 《C语言》课程设计——学生成绩统计
  14. python基础之温度转换
  15. 【数据库】HIVE SQL实现本月一号、月底的提取
  16. CC BY-SA 4.0知识共享许可协议
  17. android 电池检测软件,电池寿命检测软件下载-电池寿命检测 安卓版v2.7.0-PC6安卓网...
  18. 编程语言c24d,可编程控制器RJ71C24-R4FB参考三菱RJ71C24-R4手册 - 广州凌控
  19. 「Python爬虫系列讲解」七、基于数据库存储的 BeautifulSoup 招聘爬取
  20. Chrome浏览器源代码编译安装Dark Reader插件

热门文章

  1. 芯片破壁者:硅谷“摩西”肖克利和他的半导体实验室
  2. 第二十二届中国科协年会开幕,百度CTO王海峰等共话产业发展机遇
  3. 超详细!一文带你了解 LVS 负载均衡集群!
  4. 疫情之后,人工智能该如何走?
  5. 吊打面试官!近 40 张图解被问千百遍的 TCP 三次握手和四次挥手面试题
  6. 疫情期间天天对你“开枪”的额温枪,你知道它的工作原理吗?| 原力计划
  7. 为什么Linux CFS调度器没有带来惊艳的碾压效果? | CSDN博文精选
  8. 程序员破解推荐系统瓶颈,带来超百亿收入增量!
  9. 如何快速教妹子学Python?这个方法火了!
  10. 深入浅出 Vue 响应式原理!