【发布时间】:2015-02-24 14:35:04
【问题描述】:
我认为我在短时间内拨打了太多电话,导致 Web 服务超时。我想在我的 jquery 中的 $.each 循环的每次迭代之间等待大约 5 秒。
看看我有什么:
function submitMyList(myList) {
$.each(JSON.parse(myList), function (key, value) {
setTimeout( function(){
$.ajax({
type: 'POST',
url: '@Url.Action("submitMyList", "myController")',
dataType: 'html',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(//passing my values),
success: function (result) {
//success code
},
error: function (result) {
//error code
},
complete: function () {
//completion code
}
});
}, 5000)
});
}
这还是执行得非常快,一个接一个。
【问题讨论】:
-
不要尝试每五秒发出一次相同的请求,而是等到前一个请求完成后再发出下一个请求。
-
@zzzzBov 我真的不想那样做。每个请求可能需要大约 1-2 分钟才能完成。我的列表可能长达 70 条左右。因此,以这种方式执行提交可能需要很长时间。
标签: javascript jquery ajax loops