considere este cenário para validar:
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.
}
}
Agora, meu problema é que, o bloco if é executado antes que os loops sejam concluídos. Eu esperava que o corpo validateForm
fosse executado de forma síncrona, mas parece que a each()
função jQuery é executada de forma assíncrona. Estou certo? Por que isso não funciona?
each
em si é processado de forma síncrona. Você está iniciando alguma operação assíncrona de dentro do loop?
each
é síncrono, mas o interior código pode não ser ...