我有一个网站和一个for
循环使用变量(i
)的脚本;JavaScript/jQuery - 拦截循环
因此,循环如下所示:
var i;
for(i=start_n;i<=end_n;i++){
//function to execute
}
所以,我需要它可以拦截for
循环,并立即停止在单击“停止”按钮时的功能。
我尝试了以下功能:
1:
$('#btnStop').click(function(){
i=end_n;
});
第二:
$('#btnStop').click(function(){
stopLoading = true;
});
for(i=start_n;i<=end_n;i++){
if(stopLoading==true){break;}
//function to execute
}
两个人都没有工作。那么,有什么方法可以拦截循环并阻止它吗?
JavaScript是单线程...如果环路运行时,它运行时,你不能阻止它。尽管你可以创建一个任务队列,并用'setTimeout'异步处理它。 –
我会试试看,谢谢。 –
您可能会阻止它的唯一方法是如果您将循环体放入'setTimeout'回调中,这可能需要大量的重构。 (编辑:费利克斯打他编辑!) – apsillers