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 validateFormdieksekusi secara sinkron, tetapi tampaknya each()fungsi jQuery dijalankan secara tidak sinkron. Apakah saya benar? Kenapa ini tidak berhasil?
eachitu sendiri diproses secara serempak. Apakah Anda memulai operasi async Anda sendiri dari dalam loop?
eachsinkron, tetapi kode di dalamnya mungkin tidak ...