Betrachten Sie dieses Szenario zur Validierung:
function validateForm (validCallback) {
$('#first-name').add($('#last-name')).add($('#address')).each(function () {
// validating fields and adding 'invalid' class to invalid fields.
});
// doing validation this way for almost 50 fields (loop over 50 fields)
if ($('#holder .invalid').length == 0) {
// submitting data here, only when all fields are validated.
}
}
Mein Problem ist nun, dass der if- Block ausgeführt wird, bevor die Schleifen beendet sind. Ich habe erwartet, dass der Body von validateFormsynchron ausgeführt wird, aber es scheint, dass die jQuery- each()Funktion asynchron ausgeführt wird. Habe ich recht? Warum funktioniert das nicht?
eachselbst wird synchron verarbeitet. Starten Sie eine eigene asynchrone Operation innerhalb der Schleife?
eachist synchron, aber der Code im Inneren ist möglicherweise nicht ...