मान्य करने के लिए इस परिदृश्य पर विचार करें:
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.
}
}
अब, मेरी समस्या यह है कि, यदि लूप समाप्त होने से पहले ब्लॉक को निष्पादित किया जाता है। मुझे उम्मीद थी कि निकाय validateForm
को समान रूप से निष्पादित किया जाएगा, लेकिन ऐसा लगता है कि jQuery each()
फ़ंक्शन को एसिंक्रोनस रूप से निष्पादित किया जाता है। क्या मैं सही हू? यह काम क्यों नहीं करता है?
each
खुद को सिंक्रोनाइज़ किया जाता है। क्या आप लूप के अंदर से अपना खुद का कुछ एसिंक्स ऑपरेशन शुरू कर रहे हैं?
each
तुल्यकालिक है, लेकिन अंदर कोड नहीं हो सकता है ...