本篇博客,先讲述同步和异步的区别,然后分别演示了同步和异步的基本范例程序;在这个过程中可以体味同步和异步的区别,以便按需选用;;;具体同步和异步的深入理解,需要在实际应用中逐渐深化!
平常在浏览网页的时候,当打开一个新的网页时,经常遇到整个网页的基本架构(如页眉、页脚、网页顶部描述性文字、网页底部描述性文字等)已经加载出来了,但网页中间某些数据、图片等核心区块需要等一段时间后才会出来,这其中就大概率使用到了ajax异步处理的方式;(maybe);
目录
零:ajax同步和异步的简述
在ajax的第二步,发送ajax请求的时候,第三个参数,true:异步;false:同步;
// 2.发送Ajax请求
xmlhttp.open("GET","/ajax/news_list",true);
xmlhttp.send();
什么是异步,什么是同步?
分析:xmlhttp.send();在发送请求的过程中是需要时间的,网络传输将请求发送到服务器,服务器处理再返回响应的过程肯定是需要一些时间的;
true异步:在上面发送的过程中,程序的其他部分继续向下执行;
false同步:在上面发送的过程中,程序的其他部分不继续向下执行,而是等到响应成功后再继续执行;
……………………………………………………
一:示例1:如果设置成false同步时:
在实际中,后台服务器响应需要一定的时间,为了使效果明显,方便肉眼观察,模拟后台实际消耗的时间,这儿休眠5秒钟:
效果:发现,等后台响应后,控制台输出了预设内容;但是,在浏览器界面没有显示出响应的结果,而是显示了一个白板;
so,一:为什么程序处于一直等待的状态;等待了差不多5秒后,才执行console.log("请求发送完成");?