gpt4 book ai didi

javascript - 如何等待 jQuery ajax 请求循环完成?

转载 作者:IT王子 更新时间:2023-10-29 03:10:15 25 4
gpt4 key购买 nike

我有那个代码:

for (var i = 0; i < $total_files; i++) {
$.ajax({
type: 'POST',
url: 'uploading.php',
context: $(this),
dataType: 'json',
cache: false,
contentType: false,
processData: false,
data: data_string,
success: function(datas) {
//does something
},
error: function(e) {
alert('error, try again');
}
});
}

它可以很好地上传图片,但问题是我找不到一种方法来一张一张地上传图片,我尝试将选项设置为 async to false 但它卡住了网络浏览器直到所有图片都上传完,这不是我想要的,我想以某种方式模拟这个“async : false”选项来执行同样的事情,但不会卡住网络浏览器。

如何做到这一点?

最佳答案

您可以创建一个 promise 数组,这样一旦所有 promise 都得到解决,您就可以运行您的all done代码。

var promises = [];
for (var i = 0; i < $total_files; i++){
/* $.ajax returns a promise*/
var request = $.ajax({
/* your ajax config*/
})

promises.push( request);
}

$.when.apply(null, promises).done(function(){
alert('All done')
})

DEMO

关于javascript - 如何等待 jQuery ajax 请求循环完成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20291366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com