1. 程式人生 > >Ajax的同步非同步(async屬性)

Ajax的同步非同步(async屬性)

jquery中ajax方法有個屬性async用於控制同步和非同步,預設是true,即ajax請求預設是非同步請求,有時專案中會用到AJAX同步。這個同步的意思是當JS程式碼載入到當前AJAX的時候會把頁面裡所有的程式碼停止載入,頁面出現假死狀態,當這個AJAX執行完畢後才會繼續執行其他程式碼頁面假死狀態解除。而非同步則這個AJAX程式碼執行中的時候其他程式碼一樣可以執行。

一、async值為true (非同步)

當ajax傳送請求後,在等待server端返回的這個過程中,前臺會繼續 執行ajax塊後面的指令碼,直到server端返回正確的結果才會去執行success,也就是說這時候執行的是兩個執行緒,ajax塊發出請求後一個執行緒 和ajax塊後面的指令碼(另一個執行緒)

二、async值為false (同步)

當執行當前AJAX的時候會停止執行後面的JS程式碼,直到AJAX執行完畢後時,才能繼續執行後面的JS程式碼。

總結:
當頁面資料載入過於緩慢的時候可以考慮是否將async設定為了false,進行同步載入;