神不在的星期二
2021-12-12 16:10:06
所以我有一個數組,其中包含需要作為需要發出的 POST 請求的有效負載的一部分發送的數據。現在,這些需要按順序進行,因為我需要顯示特定的有效載荷,然后是結果(結果是使用有效載荷發出 POST 請求后返回的響應),然后是下一個有效載荷,然后是下一個結果和等等,在我的頁面上。我只是想知道實現這一目標的最佳方法是什么。所以這就是我目前的處理方式:for (var i = 0; i < quotesList.length; i++) {var response = $.ajax({ type: "POST", url: url, data: JSON.stringify(quotesList[i]), success: add_to_page, }, timeout: 300000, error: function(){ console.log("Some Error!") }, contentType: "application/json"})顯然,這里出現的問題是無法保證正確獲得該序列,而且我不太確定如何準確跟蹤有效負載,因為嘗試將其添加為成功功能的一部分只會得到我最后一個元素(大概是最后一個被觸發的請求)
1 回答

函數式編程
TA貢獻1807條經驗 獲得超9個贊
您可以嘗試以下操作。
let quotesListIndex = 0;
function sendAjaxCall() {
if (quotesListIndex < quotesList.length) {
var response = $.ajax({
type: "POST",
url: url,
data: JSON.stringify(quotesList[quotesListIndex++]),
success: function () {
//... Add code here
sendAjaxCall(); // Call the function again for next request
},
timeout: 300000,
error: function () {
console.log("Some Error!")
},
contentType: "application/json"
})
} else {
return;
}
}
添加一個全局變量來跟蹤索引。并遞歸調用函數。一旦索引達到數組大小,然后從函數返回。
添加回答
舉報
0/150
提交
取消