gpt4 book ai didi

javascript - 突然退出循环

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

让我们想象一下下面的代码:

function DoSomethingHard(parameter1, parameter2, parameter3){
// Do Something Hard Here
}

var i;
for(i = 0; i <= stuff.length; i++) {
// "stuff" is an array
DoSomethingHard(stuff[i].something1, stuff[i].something2, stuff[i].something3);
}

$( "#button_to_cancel" ).click(function() {
//something to cancel
});
  • 假设数组“stuff”有 100 个位置,那么 for 循环将运行100 次,即执行 100 次“Do Something Hard”。
  • 我们还考虑“DoSomethingHard”运行大约需要 5 秒完全。

我的问题是:如何管理取消“DoSomethingHard”?比如已经运行了50次,如何通过按钮取消后续的执行?我的尝试没有成功,它总是以运行整个循环结束......

提前致谢:)

最佳答案

Javascript 是单线程的,for 循环会一直执行到结束。我会做这样的事情来为取消留出时间。

function DoSomethingHard(param){
//do something
}

var i = 0;
var loopInterval = setInterval(function() {
if (i >= stuff.length) {
clearInterval(loopInterval);
return;
}
DoSomethingHard(stuff[i]);
i++
}, 10);

$( "#button_to_cancel" ).click(function() {
clearInterval(loopInterval);
});

关于javascript - 突然退出循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42560478/

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