ajax请求与UI进程阻塞
来源:互联网 发布:仿真软件培训 编辑:程序博客网 时间:2024/06/06 11:48
转自:http://blog.csdn.net/web_xyk/article/details/52292183
在与后台实现数据交互时经常会遇到一种这样的情况:
1.需要用一个ajax请求后台数据,并且要在获取到数据之后再渲染到页面,这个时候就必须用同步(async:false)。
2.然而在这个时候就会有另一种情况,当ajax的请求花费的时间比较长的时候需要一个loading层来显示等待状态
3.这个时候beforeSend是没有效果的,即使把loading的代码写在ajax之前也不行。
4.原因就是ajax的async设置为false时浏览器的渲染(UI)线程和js线程是互斥的,在执行js耗时操作时,页面渲染会被阻塞掉。当我们执行异步ajax的时候没有问题,但当设置为同步请求时,其他的动作(ajax函数后面的代码,还有渲染线程)都会停止下来。即使我的DOM操作语句是在发起请求的前一句,这个同步请求也会“迅速”将UI线程阻塞,不给它执行的时间。这就是代码失效的原因。
5.解决方法(注意:是在异步下实现的):如图
阅读全文
0 0
- ajax请求与UI进程阻塞
- Ajax同步请求出现浏览器页面假死,阻塞UI线程之解决方案
- ajax长轮询阻塞别的ajax请求
- Ajax异步请求阻塞情况的解决办法
- 进程的挂起与阻塞
- 进程的阻塞与唤醒
- 进程的挂起与阻塞
- ajax与异步请求
- 今天项目测试发现的ajax请求阻塞
- Ajax基础 同步请求与异步请求
- 原生ajax请求与Promise请求
- 原生ajax请求与Promise请求
- 论:ajax 同步请求与异步请求
- PHP的session阻塞机制带来的单页面多ajax请求阻塞的解决
- Ajax 的请求与响应
- ajax get与post请求
- Ajax异步与同步请求
- 3. AJAX 请求与响应
- android应用中去掉标题栏的方法
- Spring Security(04)——认证简介
- Android 应用发布流程
- 如何禁止TextBox的记忆功能
- MUI开发时genymotion模拟器连不上Hbuilder解决办法
- ajax请求与UI进程阻塞
- JavaScript 类型判定
- 0159 使用 Linux 搭建 VPN
- 结算平台的搭建
- JVM面试题
- Spring Security(05)——异常信息本地化
- Activity的启动模式和任务栈解析
- EasyUI学习总结(六)——EasyUI布局
- android 新增分区以及挂载方法