js同步和異步的理解,js同步和異步的區別是什麼

Ajax同步與異步的區別

在使用ajax請求數據的時候,通常情況下我們都是把“`async:true “`當做默認來處理,讓我們的請求成為一個異步的請求。但是在某種情況下我們是需要吧“`async:false“`設置為false的,方便我們進行觀察數據的走向、去處。那**同步和異步**有什麼區別呢?

## 同步請求

async:false
...

$.ajax({ 

		async:false,

		type:"POST",

		url:"Venue.aspx?act=init",

		dataType:"html",

		success:function(result){  //function1()

		    f1();

		    f2();

		 }

		 failure:function (result) { 

		    alert('我在彈'); 

		}

        }

function2();

...

分析

– 這個時候ajax塊發出請求後,他會等待在function1()這個地方,不會去執行function2(),直到function1()部分執行完畢。

## 異步請求

async:true
...

$.ajax({ 

		async: true, //默認為 true

		type:"POST",

		url:"./xxx/xxx/a/b.html",

		dataType:"html",

		success:function(result){  //function1()

		     f1();

		     f2(); 

		}

		failure:function (result) { 

		      alert('我彈'); 

		},

		}

function2();

...

分析

– 當ajax塊發出請求後,他將停留function1(),等待返回結果,但同時(在這個等待過程中),function2()就可以跑起來。

總結(兩者的區別)

1. 同步的請求的時候,代碼好比在排隊,必須是一個挨着一個地去執行,前面的沒有結束,後面的代碼就處於一個阻塞的狀態。

2. 異步執行的時候,數據請求的同時,其他代碼語句也可以同步執行,比如,在數據請求的時候,由於某些願意,需要慢慢的返回請求結果,在這個時候帶寬是很空閑的,那麼,代碼不會等到前面的數據完全請求返回就可以開始後面的代碼運行。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/228069.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-09 21:31
下一篇 2024-12-09 21:31

相關推薦

發表回復

登錄後才能評論