gpt4 book ai didi

javascript - 在 FOR 循环中等待上一个 AJAX 调用

转载 作者:行者123 更新时间:2023-11-29 10:42:44 24 4
gpt4 key购买 nike

在循环和执行下一个调用之前,我如何等到上一个 ajax 调用完成?目前代码一直循环并一次执行所有 ajax 请求!

<script>
var busy;

function check(mailpass, proxy){
var post_data = {};
var post_json = "";

post_data['mailpass'] = mailpass;
post_data['proxy'] = '108.36.248.67:17786';
post_json = JSON.stringify(post_data);

jQuery.ajax({
url: '/postdata' ,
type: "POST",
data: {params: post_json},
success: function(data){
var obj = JSON.parse(data);

if(obj.error == 0){
//
$("#acc-live").append(obj.msg + "<br/>");
} else if(obj.error == 1){
//
$("#socks-die").append(obj.msg+ "<br/>");
} else if(obj.error == 2){
//
$("#acc-die").append(obj.msg+ "<br/>");
}
}
});

}
$(document).ready(function(){
$("#submit").click(function(){
var lines = $("#lines").val().split('\n');


for(var i = 0;i < lines.length;i++){
check(lines[i], '123');
}

});

});
</script>

最佳答案

您可以添加计数器 (currentIndex) 并稍微重新组织代码。

var busy;
var lines;
var currentIndex = 0;

function checkNext(){

if( currentIndex >= lines.length ){
console.log('all done');
return;
}

var mailpass = lines[currentIndex];
var proxy = '123';

var post_data = {};
var post_json = "";

post_data['mailpass'] = mailpass;
post_data['proxy'] = '108.36.248.67:17786';
post_json = JSON.stringify(post_data);

jQuery.ajax({
url: '/postdata' ,
type: "POST",
data: {params: post_json},
success: function(data){
var obj = JSON.parse(data);

if(obj.error == 0){
//
$("#acc-live").append(obj.msg + "<br/>");
} else if(obj.error == 1){
//
$("#socks-die").append(obj.msg+ "<br/>");
} else if(obj.error == 2){
//
$("#acc-die").append(obj.msg+ "<br/>");
}

currentIndex++; //Increase the counter
checkNext();
}
});

}
$(document).ready(function(){
$("#submit").click(function(){
lines = $("#lines").val().split('\n');
checkNext();
});
});

关于javascript - 在 FOR 循环中等待上一个 AJAX 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667803/

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