js迴圈中呼叫ajax

2021-09-01 16:41:03 字數 695 閱讀 3873

**:

var i;

for(i=0;i<10;i++)

在for迴圈中呼叫ajax方法 補充頁面上的資料,這樣寫是錯誤的,他不會每執行一次for迴圈就執行一次ajax方法,而是等for迴圈結束才去執行ajax方法,所以導致ajax只被執行一次。然而當修改如下:

for(i=0;i<10;i++)

與上面不同的是在每次呼叫的時候都彈出乙個窗體 alert("內容隨意") 這樣就可以在頁面正確顯示內容 而不是一條內容

原因:原因就是for迴圈在js中是單執行緒的,他會在for迴圈結束之後然後執行下一步,一步一步進行實現,而alert切斷迴圈,讓程式響應一次,從而再次呼叫ajax方法,然而在程式當中我們卻不能讓alert方法出現。

解決辦法:

var i=0;

var sum=10;

var time;

ajaxservise(i)

i=i+1;

time = settimeout(ajaxservise(),10);

……………………

………………

…………

……}

這裡用settimeout(ajax())方法進行呼叫,settimeout會當此方法執行完畢然後再次執行ajax()方法,用settimeout與cleartimeout配合完美解決此問題。

ps:settimeout是偽多執行緒。

For迴圈中進行Ajax請求

這段時間一直在做乙個平台,平台資料有點多所以我進行了 水平分表 導致表很多,但是有些功能需要遍歷所有表中資料時,會導致mysql直接崩潰,於是只能一次一次請求後端進行mysql 的查詢。但是由於for 迴圈是乙個單執行緒的東西,而ajax是多執行緒的,之所以稱之為非同步同步,是因為執行到ajax的時...

for迴圈中Ajax 單執行緒

今兒除錯發現乙個有趣的小問題 網上海搜 上 var i for i 0 i 10 i 在for迴圈中呼叫ajax方法 補充頁面上的資料,這樣寫是錯誤的,他不會每執行一次for迴圈就執行一次ajax方法,而是等for迴圈結束才去執行ajax方法,所以導致ajax只被執行一次。然而當修改如下 for i...

js 迴圈中的非同步

for var i 0 i 5 i 0 1 2 3 4 加入延時 for var i 0 i 5 i 1000 i 5 立即執行 5 一秒後 5 一秒後 5 一秒後 5 一秒後var output function i 1000 i for var i 0 i 5 i 0 立即執行 1 一秒後 2 ...