Javascript: Warten Sie, bis die Funktion in der Schleife ausgeführt wurde, bevor Sie mit der nächsten Iteration fortfahren

$(function() {
$("#submit").click(function() {


for (var i=1; i<=14; i++)
{
        setID(i); 
        checkField(i);

}

if ($('#pass_fail').val() != "fail")
{ 
//do something
}

Dies passiert, wenn ich auf die Schaltfläche "Senden" eines Registrierungsformulars klicke.

Ausführungsreihenfolge Ich möchte:


setID (1);
checkField (1); // warte bis dies beendet ist
setID (2);
checkField (2);
setId (3);
checkField (3);
....
if-Anweisung

Ausführungsreihenfolge bekomme ich:


for-Schleife von i = 1 bis i = 14
if-Anweisung
checkField (i) s in zufälliger Reihenfolge

Problem: $ ('# pass_fail'). val () hat den Standardwert 'pass'. Durch die Schleife kann checkField (i) jedoch seinen Wert auf 'fail' ändern. Aber da in Wirklichkeit die if-Anweisung vor checkField (i) s ausgeführt wird, ist der Wert von $ ('# pass_fail') immer 'pass' und das 'do something' wird immer ausgeführt.

Wie warte ich, bis die Ausführung von checkField (i) abgeschlossen ist, bevor ich mit der nächsten Iteration des looP fortfahre? Danke im Voraus!

Antworten auf die Frage(2)

Ihre Antwort auf die Frage