der den folgenden Code Lassen Sie sich vorstellen:Beenden der Schleife abrupt
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
});
- das Array "stuff" Angenommen, hat 100 Positionen, so dass die for-Schleife wird 100 Mal ausgeführt, das heißt, es wird „Do Do Something Hart "100 mal.
- Betrachten wir auch, dass "DoSomethingHard" etwa 5 Sekunden benötigt, um vollständig auszuführen.
Meine Frage ist: Wie verwalte ich die Aufhebung des "DoSomethingHard"? Wenn es beispielsweise bereits 50 Mal ausgeführt wurde, wie kann ich die nachfolgenden Ausführungen über eine Schaltfläche abbrechen? Es gelang mir nicht in meinen Versuchen und es endet immer die ganze Schleife gelaufen ....
Vielen Dank im Voraus :)
Dies wird als Anti-Pattern betrachtet, aber Sie könnten eine globale Variable erstellen. var isBreak = false; für (i = 0, i