pertimbangkan skenario ini untuk memvalidasi:
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.
}
}
Sekarang, masalah saya adalah, jika blok dijalankan sebelum loop selesai. Saya berharap tubuh validateForm
dieksekusi secara sinkron, tetapi tampaknya each()
fungsi jQuery dijalankan secara tidak sinkron. Apakah saya benar? Kenapa ini tidak berhasil?
each
itu sendiri diproses secara serempak. Apakah Anda memulai operasi async Anda sendiri dari dalam loop?
each
sinkron, tetapi kode di dalamnya mungkin tidak ...