前端请求异步与同步的区别
用jQuery的ajax做一个简单的例子,其他类型(如:axios)同理,看代码
异步方式:
$(function() { $.ajax({ type : 'post', async : true, url : '', cache : false, data : {}, success : function(data){ alert("1111"); } }); alert("22222");
}); // 结果肯定是先22222后111111
同步方式:
$(function() { $.ajax({ type : 'post', async : false, url : '', cache : false, data : {}, success : function(data){ alert("1111"); } }); alert("22222");
});
// 结果肯定是先11111后22222
简单理解的话就是:
正常情况下,ajax默认是异步的(除非强制将async设置为 false),success是回调函数,只有等主体函数全部执行完,才会执行success里面的函数;如果async == false,那代码将按照顺序从上到下依次执行。
异步:
在异步模式下,当我们使用AJAX发送完请求后,可能还有代码需要执行。这个时候可能由于种种原因导致服务器还没有响应我们的请求,但是因为我们采用了异步执行方式,所有包含AJAX请求代码的函数中的剩余代码将继续执行。如果我们是将请求结果交由另外一个JS函数去处理的,那么,这个时候就好比两条线程同时执行一样。
同步:
在同步模式下,当我们使用AJAX发送完请求后,后续还有代码需要执行,我们同样将服务器响应交由另一个JS函数去处理,但是这时的代码执行情况是:在服务器没有响应或者处理响应结果的JS函数还没有处理完成return时,包含请求代码的函数的剩余代码是不能够执行的。就好比单线程一样,请求发出后就进入阻塞状态,知道接触阻塞余下的代码才会继续执行。
前端请求异步与同步的区别相关推荐
- js异步和同步的区别
js异步和同步的区别 一.单线程和异步: dom渲染中js必须停止,js进行过程中dom渲染必须停止 单线程是异步出现的一个背景 二.异步和同步: 异步的例子,在定时器1s内,会输出300 而在同步中 ...
- Java 异步与同步的区别
同步: 所有操作完成之后,才会通知用户操作完成了. 异步:不用等所有操作完成之后,就会通知用户操作完成了,然后后台会继续操作直到完成结束. 为了方便理解 举例个常见的 android 网络请求使用的异 ...
- Ajax的优缺点以及异步和同步的区别
一.背景 上午时候同事问我这两个问题,其实大家都知道ajax的优点是不刷新页面加载,用户体验好,缺点是不安全之类的.但是并不能用很专业的术语来表述这些问题.这里记录一下. 二.Ajax的工作原理 1. ...
- ajax什么是异步和同步,ajax异步和同步的区别
AJAX异步 打个比方吧,通常情况下,用户注册,那么用户首先得填写好表单,然后点提交,这样表单就会向服务发出一个请求,则服务器处理代码,如果用户存在,则返回一个信息.总之,就是所有的数据需要你点提交后 ...
- AJAX中的请求方式以及同步异步的区别
请求方式,分为GET与POST: GET 最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用window.location.searc ...
- Android异步和同步的区别
答案一: 1.同步执行的话,就是程序会呆板地从头执行到尾,耗时间的东西不执行完,程序不会继续往下走,等待时间长的话,有时候就会造成失去响应了. 2.异步的好处,就是把一些东西,特别是耗时间的东西扔到后 ...
- 串口异步和同步的区别_伺服电机、步进电机,同步电机和异步电机区别这么大,看完理解了...
同步电动机与异步电动机 原理: 同步电机就是靠励磁电流运行的,如果没有励磁,电机就是异步的.励磁是加在转子上的直流系统,它的旋转速度和极性与定子是一致的,如果励磁出现问题,电动机就会失步,调整不过来, ...
- js异步与同步的区别
你应该知道,javascript语言是一门"单线程"的语言,不像java语言,类继承Thread再来个thread.start就可以开辟一个线程,所以,javascript就像一条 ...
- js 异步和同步的区别
2019独角兽企业重金招聘Python工程师标准>>> 异步会打乱执行顺序 console.log( "1" ); setTimeout(function() { ...
最新文章
- vb 取得计算机名及目录
- NYOJ 864 统计
- 集合之ArrayList(含JDK1.8源码分析)
- 图解全排列问题_排列组合的各种知识点以及解题小技巧
- CTS(2)---CTS、CTS-V、GTS版本更新,及其注意事项
- 2021年,彩票店还开的下去吗?
- 一个老测试给想入行测试行业新人的二十条建议
- 压缩与解压2---文件的压缩
- 软件工程-----个人总结
- 什么软件能做英语测试卷听力,英语听力app哪个好用-什么英语听力软件最好
- 利用机器学习方法确定各个特征的权重
- 【测试理论】三、测试流程管理
- 多维数组扁平化的方法
- 探花交友(3)——接口实现分析
- SD卡SPI模式入门教程
- Swingbench 博客合集
- python:输入一个整数正序各个输出,并判断输出位数
- v–meca仿真软件下载_进入工作软件–简介
- 终于当选微软2012年4月最有价值专家(MVP)了,不容易啊。都来恭喜一哈
- 13 Python总结之估值