Ajax同步和异步(Async and Sync)

概念:

同步:一个人在同一个时刻只能做一件事情,在执行一些耗时的操作(不需要看管)不去做别的事,只是等

异步:在执行一些耗时的操作(不需要看管)去做别的事,而不是等待


Ajax默认是异步的,但是我们可以通过修改open()的参数来改变是同步还是异步——第三个参数
open(,,true/false)

  • true 异步 默认值可不填
  • false 同步的
     那同步和异步的区别在哪里呢?虽然同步传输我们极小概率用到但是我们还是有必要了解一下

演示:

 我们用一段代码来演示效果 其中用到 time 这个方法让我们可以只直观的看到区别

<script>
	console.time('async');
	var xhrAsync=new XMLHttpRequest();
	xhrAsync.open('GET','time.php',true);
	xhrAsync.send();
	console.log(xhrAsync.responseText);//打印不到返回值
	console.timeEnd('async');
-----------------------------------------------------------------------------
	console.time('sync');
	var xhrSync=new XMLHttpRequest();
	xhrSync.open('GET','time.php',false);
	xhrSync.send();
	console.log(xhrSync.responseText);
	console.timeEnd('sync');
</script>

Ajax同步和异步(Async and Sync)
   我们可以看到同步和异步在响应事件上有这明显的差距,并且浏览器也有警告(Deprecation)强烈不建议使用同步传输的方式;