我做了很多谷歌搜索,看看其他人的答案,到目前为止,没有人为我工作。我正在尝试做的简短摘要;
目前,我正在使用例如;
function cloneEvent() {
array = {date 1, date 2, date 3};
array.forEach() {
saveEvent(item);
}
}
function saveEvent(eventDate) {
//do stuff based on this eventDate
$.ajax({
...
success: function (response) {
//update the event popup
//refresh the event grid
//inform user of success
}
}
}
问题是,在第一次成功之后,它再也不会回过头来,而forEach的其余部分将用于其他项目。
我已经尝试过使用延迟的对象,回调,将ajax调用设置为同步,为saveEvent函数的每个后续调用设置超时,在成功事件中调用返回等。我不认为回调实际上可用于但是由于我在通知数据后不处理数据,因此可以实现此实现。
[发送第一个请求后,我如何继续提交正在进行的ajax请求?
谢谢。
基本上,您正在做的是同时发送所有保存事件。相反,您可以在回调中调用下一个保存:
var array = [date1, date2, date3];
saveEvent(array);
function saveEvent(array) {
if (!array || array.length == 0) return; // no more elements
var dateToSave = array.shift(); // remove first element
$.ajax({
// save dateToSave
success: function (response) {
//update the event popup
//refresh the event grid
//inform user of success
saveEvent(array);
}
}
}