您的位置:首頁技術文章
文章詳情頁

javascript - 關于ajax異步的問題

瀏覽:68日期:2023-03-13 10:41:40

問題描述

async 默認是 true,即為異步方式,$.Ajax 執行后,會繼續執行ajax后面的腳本,直到服務器端返回數據后,觸發$.Ajax里的success方法,這時候執行的是兩個線程。若要將其設置為false,則所有的請求均為同步請求,在沒有返回值之前,同步請求將鎖住瀏覽器,用戶其它操作必須等待請求完成才可以執行。

這個其他操作具體舉個例子呢,是指 http 請求還是 js 腳本?

問題解答

回答1:

先上圖

javascript - 關于ajax異步的問題

async 為 false 的時候,阻塞代碼直到 ajax 調用返回,所以是先執行的 done(即 success) 再執行的 ajax 調用之后的那句 console.log。

async 為 true(默認) 的時候,不阻塞代碼,所以下面的 console.log 先執行,等 ajax 返回之后再執行的 done 里面的 console.log。

回答2:

指js腳本http://transcoder.tradaquan.com/from=2001a/bd_page_type=1/ssid=0/uid=0/pu=usm%401%2Csz%401320_2003%2Cta%40iphone_1_10.3_1_11.5/baiduid=3ECCA1E6D2665DB48EFEBB60D9D9084F/w=0_10_/t=iphone/l=3/tc?ref=www_iphone&lid=8260698868132866872&order=1&fm=alhm&h5ad=1&srd=1&dict=32&tj=h5_mobile_1_0_10_title&w_qd=IlPT2AEptyoA_yivDVKcCTpsvgzWOeIntjcXa3jSqfgrUO_&sec=21456&di=8e54227838fdccf9&bdenc=1&nsrc=IlPT2AEptyoA_yixCFOxXnANedT62v3IEQGG_ytK1DK6mlrte4viZQRAVDb6QHOTCU8sumX0sqdFtXLR_7Mi8xR_qbIwdzZz

回答3:

$.Ajax 后面的 js 腳本。(最好不要使用腳本這個詞)

回答4:

如果ajax是同步的,就是說js順序執行,http請求是ajax發的,js是就是js,不要混為一談。用戶其他操作,應該是指用戶觸發了和js有關的操作。如果ajax后面有綁定某個元素的時間,是可以觸發的。最終總結就是,當前js腳本,同步ajax時,腳本順序執行;異步ajax時,異步執行,所謂異步執行就是,執行到ajax時,不等請求是否返回,直接執行ajax之后的js語句。

標簽: JavaScript
相關文章:
国产综合久久一区二区三区