我從SharePoint庫檢索電子郵件文檔(* .eml文件)的列表。 當這個列表完成時,我遍歷它,將一些文件訪問數據放入一個數組數組中。在這個過程結束時,我有一系列的電子郵件文件名和其他訪問數據。 我遍歷這個列表,通過Ajax(jQuery)打開每個電子郵件文件。 當電子郵件內容已經返回給我(來自非Ajax解碼例程)時,我將其發送出去處理。我期望從SharePoint jQuery應用獲得順序結果,但得到隨機結果
該處理順序依賴。我從訪問數組中獲取email1,然後將其發送給解碼器,然後對其進行處理(實質上,將其寫入列表中)。我遇到的問題是,儘管我發送了email1,然後發送了email2,然後發送了email3,但是我從解碼器得到的內容就是返回的感覺。也許1,2,3,也許1,3,2,也許3,2,1。因爲我很小心地確保按順序處理電子郵件,所以我期望能夠順序地返回其內容。不。
$.each(arIDs, function(index, value) {
//the following statement orders perfectly
$("#results").append("<br>dealing with " + arIDs[index][2]);
var ajaxPromise = $.ajax({
type:"GET",
url:"GFSSEForm/" + arIDs[index][2],
dataType:"text"
}).done(function(data) {
decodeEmail(data); //sets global arValues
$("#results").append("<br>" + arValues); //not returned in order passed
});
.
.
.
任何想法?
進一步的測試表明,Ajax語句在執行前正在排隊。不幸的是,他們的排隊或他們的檢索順序不是一個嚴格的FIFO安排。 – 2013-03-15 12:38:00