日期:2014-05-16  浏览次数:20597 次

异步模式
我在看ajax中,看到一段话 异步模式,我对这个词不理解



  可以调用HTTP请求类的open()和send()方法,如下所示: 
  xmlhttp_request.open('GET',URL,true); 
  xmlhttp_request.send(null); 
  open()的第一个参数是HTTP请求方式—GET,POST或任何服务器所支持的您想调用的方式。按照HTTP规范,该参数要大写;否则,某些浏览器(如Firefox)可能无法处理请求。 
  第二个参数是请求页面的URL。 
  第三个参数设置请求是否为异步模式。如果是TRUE,JavaScript函数将继续执行,而不等待服务器响应。这就是"AJAX"中的"A"。


------解决方案--------------------
异步——async
就是说你执行完send以后(或者连send这个动作都是异步的,这我还真不太清楚)接着执行接下来的JS代码,而不用等服务器端处理完毕返回结果以后再继续执行。

与异步相对的就是同步,打个比方说,你在煮饭,煮饭的过程中你可以一直等,饭熟了以后再去擦餐桌,也可以先去擦餐桌,然后定时提醒响了以后(相当于回调)回去把饭端出来。
------解决方案--------------------
在博客上看到的

同步:提交请求->等待服务器处理->处理完毕返回 这个期间客户端浏览器不能干任何事
异步: 请求通过事件触发->服务器处理(这是浏览器仍然可以作其他事情)->处理完毕
--------------------------------------------
同步就是你叫我去吃饭,我听到了就和你去吃饭;如果没有听到,你就不停的叫,直到我告诉你听到了,才一起去吃饭。
异步就是你叫我,然后自己去吃饭,我得到消息后可能立即走,也可能等到下班才去吃饭。

所以,要我请你吃饭就用同步的方法,要请我吃饭就用异步的方法,这样你可以省钱。
--------------------------------------------
举个例子 打电话时同步 发消息是异步