我有一個網站和一個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