gpt4 book ai didi

javascript - 从匿名函数中中断 for 循环

转载 作者:行者123 更新时间:2023-11-28 01:47:11 25 4
gpt4 key购买 nike

我正在尝试从嵌套匿名函数中中断 for 循环(已标记),如下所示:

function ajax(iteration, callback) {
var rtrn, xh;
if (window.XMLHttpRequest) {
xh = new XMLHttpRequest();
} else {
xh = new ActiveXObject("Microsoft.XMLHTTP");
};
xh.onreadystatechange = function() {
if (xh.readyState == 4 && xh.status == 200) {
callback(xh.responseText);
};
};
xh.open("GET", "file.php?i=" + iteration, true);
xh.send();
};

var atk_delay = 100;
loop:
for(i = 1; i <= 40; i++) {
var to = atk_delay * i;
setTimeout(
function() {
ajax(i, function(responseText) {
var div = document.getElementById("combat");
div.innerHTML += responseText;
var arrRt = responseText.split("::");
if(arrRt[0] == "stop") {
break loop;
};
});
},
to);
};

我真的不知道如何解决这个问题。显然,问题是它找不到标签。我该如何解决这个问题?

最佳答案

所以我解决了!感谢各位的帮助!你让我意识到我需要一种完全不同的方法!

function ajax(callback) {
var rtrn, xh;
if (window.XMLHttpRequest) {
xh = new XMLHttpRequest();
} else {
xh = new ActiveXObject("Microsoft.XMLHTTP");
};
xh.onreadystatechange = function() {
if (xh.readyState == 4 && xh.status == 200) {
callback(xh.responseText);
};
};
xh.open("GET", "file.php", true);
xh.send();
};

var atk_delay = 100;

function roll() {
ajax(function(responseText) {
var div = document.getElementById("combat");
div.innerHTML += responseText;
var arrRt = responseText.split("::");
if(arrRt[0] == "cont") {
setTimeout(roll, atk_delay);
};
});
};

setTimeout(roll, atk_delay);

关于javascript - 从匿名函数中中断 for 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20134671/

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