用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时,包含请求代码的函数的剩余代码是不能够执行的。就好比单线程一样,请求发出后就进入阻塞状态,知道接触阻塞余下的代码才会继续执行。

前端请求异步与同步的区别相关推荐

  1. js异步和同步的区别

    js异步和同步的区别 一.单线程和异步: dom渲染中js必须停止,js进行过程中dom渲染必须停止 单线程是异步出现的一个背景 二.异步和同步: 异步的例子,在定时器1s内,会输出300 而在同步中 ...

  2. Java 异步与同步的区别

    同步: 所有操作完成之后,才会通知用户操作完成了. 异步:不用等所有操作完成之后,就会通知用户操作完成了,然后后台会继续操作直到完成结束. 为了方便理解 举例个常见的 android 网络请求使用的异 ...

  3. Ajax的优缺点以及异步和同步的区别

    一.背景 上午时候同事问我这两个问题,其实大家都知道ajax的优点是不刷新页面加载,用户体验好,缺点是不安全之类的.但是并不能用很专业的术语来表述这些问题.这里记录一下. 二.Ajax的工作原理 1. ...

  4. ajax什么是异步和同步,ajax异步和同步的区别

    AJAX异步 打个比方吧,通常情况下,用户注册,那么用户首先得填写好表单,然后点提交,这样表单就会向服务发出一个请求,则服务器处理代码,如果用户存在,则返回一个信息.总之,就是所有的数据需要你点提交后 ...

  5. AJAX中的请求方式以及同步异步的区别

    请求方式,分为GET与POST: GET   最为常见的HTTP请求,普通上网浏览页面就是GET.GET方式的参数请求直接跟在URL后,以问号开始.(JS中用window.location.searc ...

  6. Android异步和同步的区别

    答案一: 1.同步执行的话,就是程序会呆板地从头执行到尾,耗时间的东西不执行完,程序不会继续往下走,等待时间长的话,有时候就会造成失去响应了. 2.异步的好处,就是把一些东西,特别是耗时间的东西扔到后 ...

  7. 串口异步和同步的区别_伺服电机、步进电机,同步电机和异步电机区别这么大,看完理解了...

    同步电动机与异步电动机 原理: 同步电机就是靠励磁电流运行的,如果没有励磁,电机就是异步的.励磁是加在转子上的直流系统,它的旋转速度和极性与定子是一致的,如果励磁出现问题,电动机就会失步,调整不过来, ...

  8. js异步与同步的区别

    你应该知道,javascript语言是一门"单线程"的语言,不像java语言,类继承Thread再来个thread.start就可以开辟一个线程,所以,javascript就像一条 ...

  9. js 异步和同步的区别

    2019独角兽企业重金招聘Python工程师标准>>> 异步会打乱执行顺序 console.log( "1" ); setTimeout(function() { ...

最新文章

  1. vb 取得计算机名及目录
  2. NYOJ 864 统计
  3. 集合之ArrayList(含JDK1.8源码分析)
  4. 图解全排列问题_排列组合的各种知识点以及解题小技巧
  5. CTS(2)---CTS、CTS-V、GTS版本更新,及其注意事项
  6. 2021年,彩票店还开的下去吗?
  7. 一个老测试给想入行测试行业新人的二十条建议
  8. 压缩与解压2---文件的压缩
  9. 软件工程-----个人总结
  10. 什么软件能做英语测试卷听力,英语听力app哪个好用-什么英语听力软件最好
  11. 利用机器学习方法确定各个特征的权重
  12. 【测试理论】三、测试流程管理
  13. 多维数组扁平化的方法
  14. 探花交友(3)——接口实现分析
  15. SD卡SPI模式入门教程
  16. Swingbench 博客合集
  17. python:输入一个整数正序各个输出,并判断输出位数
  18. v–meca仿真软件下载_进入工作软件–简介
  19. 终于当选微软2012年4月最有价值专家(MVP)了,不容易啊。都来恭喜一哈
  20. 13 Python总结之估值

热门文章

  1. Python笔记:python实现跳板机
  2. oracle中distinct和count函数组合使用
  3. Mac环境配置SSH Key
  4. mysql版本升级手册
  5. c++头文件iomanip.h中setw()、setprecision()、setbase用法示例详解
  6. Linux 配置关掉虚拟防火墙
  7. C语言-实现栈(stack)
  8. TransUNet阅读笔记与训练尝试
  9. 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)
  10. PE系统是什么?怎么进入PE重装电脑系统