ajax同步请求和异步请求

ajax同步请求和异步请求

  • 前序
  • 什么是同步请求?
  • 什么是异步请求?
  • 比较同步和异步请求

前序

最近好长时间没写博客了,主要由于前一段时间出差,没啥心思写,今天开始重新继续。进入主题,ajax的同步请求和异步请求,这个在前端面试中经常会出现的问题,在实际开发中也容易,有时候被疏忽了就会照成偶尔出现的问题。我们先来看一下,什么是同步请求,这里主要以jquery的ajax请求为例,后端示例使用的java。

什么是同步请求?

ajax同步请求,是指当前端通过ajax发送一个请求到服务端,JavaScript 会等到服务器响应就绪才继续执行。
jquery中怎么设置同步请求,这个就太简单了,不用啰嗦了吧,把async参数设置为false即可,默认是true

这里看一个例子:
前端代码:



	
		
		
	
	
		
		
		
	
	
	


请求http://localhost:8090/t1这个接口时,我们让后端接口等待20秒钟后返回,我们会看到效果是等待很久才看到输入框赋值hello
ajax同步请求和异步请求_第1张图片

什么是异步请求?

异步请求:ajax发送请求后,JavaScript 无需等待服务器的响应,继续执行接下来的代码,等到响应成功以后,执行响应的结果;

还是上面那个例子,我们改成异步,再加一句代码:



	
		
		
	
	
		
		
		
	
	
	


执行结果:

此时可以看到,我没有点击异步提交按钮时input没有值,当我点击后变成了world!,然后过了一会变成了hello

比较同步和异步请求

1、异步请求比同步请求性能好;
2、异步请求比同步请求体验好;
3、同步请求,当请求失败时,会导致应用程序会挂起或停止,在web中经常表现为卡死。
4、异步可以同时发多个请求,同步只能等一个请求结束后,才能执行下一个请求。

好了,到这里了,希望各位小伙伴看了这篇文章后,以后写代码一定得注意使用异步和同步。

你可能感兴趣的:(前端)