同步與異步的區別
例如:小明去餐館排隊點餐,前台服務員將小明的菜單告訴廚師進行制作,此時小明后面排隊的人就一直等着,直到廚師制作完成,把飯菜送到小明手里后離開,后面的人才能繼續點餐;這就是同步處理;但是,如果前台服務員將小明的菜單告訴廚師后,服務員發給小明一個好牌去旁邊等待,后面的人繼續點餐,廚師將小明的飯菜做好后,隨時呼喚小明就餐;這就是異步處理
服務器的不同做法,就代表着 Ajax 的同步或異步處理;
小明就是客戶端;
廚師就是后台服務器;
代碼:
<script>
function t1(){
var xhr = cXHR();
xhr.onreadystatechange = function(){
if(this.readyState == 4){
alert(this.responseText);
}
}
//false同步
//true 異步
xhr.open('get','/test',false);
xhr.send(null);
}
function t2(){
alert('t2');
}
t1();
t2();
</script>