我有一個數組的每個循環,對於數組中的每個元素我需要從服務器檢索數據,所以我會爲每個元素髮出一個ajax請求並將結果存儲在另一個數組中,我需要知道什麼時候陣列中的最後一個元素已經被處理,所以我可以顯示數據,是否有一個模式,或者我怎樣才能做到這一點,而不是過於複雜的事情,我認爲是我在做什麼多個連續ajax請求的jquery模式
4
A
回答
2
var array = ['a', 'b', 'c'],
arrayLength = array.length,
completed = 0;
然後,在你XHR的回調,
if (completed == arrayLength) {
// All of them have finished.
}
completed++;
阿爾特事實上,你聲明你將這些東西添加到一個新的數組中。假設完成後陣列長度相等,您可以將回調中的支票更改爲(startArray.length == newArray.length)
。另外,請記住,如果你正在循環中製作XHR(假設爲異步),他們都會嘗試大致同時請求(我認爲),這可能是性能問題。考慮編寫一個函數,這個函數會在每個請求的回調函數中被再次調用,所以XHR是一次一個的。增加一個計數器,這樣你可以在每個調用中爲下一個數組元素下標。
0
對於每一次成功,您點擊,數出成功的結果,然後觸發一個事件。
例如:
var successfulReturns= 0;
$.ajax({
url:"",
success: function() {
successfulReturns++;
$(document).trigger("myapp.loadedComplete");
}
});
,然後聽爲您的活動
$(document).bind("myapp.loadedComplete", function() { });
這可以讓你的地方測試循環之外完成。
+3
請格式化您的代碼:) – 2011-04-22 06:10:44
1
具有「並行」模式的延續傳遞庫將很好地抽象出來。我正在使用JooseX-CPS,也請參閱其tutorial。
相關問題
- 1. 連續AJAX請求
- 2. 多個AJAX請求(Singleton模式)
- 3. 多個Ajax請求 - jQuery
- 4. jquery多個Ajax請求
- 5. jquery ajax多個請求
- 6. 使用jQuery連續請求
- 7. Rest Client對於多個連續請求
- 8. 與jQuery的多個AJAX XML請求
- 9. jQuery中的多個AJAX請求
- 10. ajax多個請求
- 11. jquery Ajax多用戶請求
- 12. Jquery + Ajax多連接AJAX請求的書寫結果
- 13. Ajax請求中的jQuery Ajax請求
- 14. jquery ajax請求多個返回值?
- 15. jquery,如何使用多個Ajax請求?
- 16. 用jquery設置多個請求頭ajax
- 17. jQuery Mobile和多個Ajax請求與changePage
- 18. Jquery $ .when與多個Ajax請求問題
- 19. 連接兩個Ajax請求
- 20. jquery - 連續.get()請求失敗
- 21. 多個連續的http請求沒有關閉連接
- 22. 修改jQuery的Ajax請求連接頭
- 23. jQuery - AJAX請求
- 24. jquery AJAX請求
- 25. Jquery ajax請求
- 26. 重用的連續兩個請求
- 27. c中的兩個連續httpweb請求#
- 28. JQuery的AJAX請求
- 29. jQuery的 - Ajax請求
- 30. jQuery的Ajax請求
任何代碼? – 2011-04-22 05:53:40