jQuery Ajax कॉल से सफलता कॉलबैक फ़ंक्शंस को अलग करना
jQuery Ajax का उपयोग करके सर्वर से डेटा पुनर्प्राप्त करते समय, सफलता को परिभाषित करना आम बात है .ajax() ब्लॉक के भीतर कॉलबैक फ़ंक्शन। यह कॉलबैक हैंडलिंग को AJAX कॉल के साथ मजबूती से जोड़ता है, लचीलेपन और पुन: प्रयोज्य को सीमित करता है।
.ajax() ब्लॉक के बाहर सफलता कॉलबैक को परिभाषित करने के लिए, लौटाए गए डेटा को संग्रहीत करने के लिए एक वेरिएबल आमतौर पर घोषित किया जाता है। हालाँकि, स्थगित वस्तुओं का उपयोग करके अधिक आधुनिक दृष्टिकोण की सिफारिश की जाती है।
jQuery 1.5 के बाद से, स्थगित वस्तुएं AJAX कॉल जैसे अतुल्यकालिक संचालन को संभालने का एक बेहतर तरीका प्रदान करती हैं। यहां बताया गया है कि आप इसे कैसे प्राप्त कर सकते हैं:
function getData() { return $.ajax({ url : 'example.com', type: 'GET' }); } function handleData(data /* , textStatus, jqXHR */ ) { alert(data); //do some stuff } getData().done(handleData);
यह दृष्टिकोण कॉलबैक हैंडलिंग को AJAX कॉल से अलग करता है, जिससे एकाधिक कॉलबैक, त्रुटि प्रबंधन और अतुल्यकालिक घटनाओं को आसानी से सिंक्रनाइज़ करने की अनुमति मिलती है।
उदाहरण के लिए :
// Timer for demo purposes, resolves itself after 5 seconds var timer = $.Deferred(); setTimeout(timer.resolve, 5000); // Get data using AJAX and attach done and error handlers var ajax = getData().done(handleData).fail(error); // Wait for both AJAX and timer to finish before continuing $.when(timer, ajax).done(function() { // Both AJAX and 5s timer have finished }); // Additional callbacks can be added even after AJAX call finishes ajax.done(function(data) { //Do some stuff with data });
यह स्थगित वस्तुओं की शक्ति को प्रदर्शित करता है, जो jQuery अनुप्रयोगों में अतुल्यकालिक संचालन पर अधिक नियंत्रण और लचीलापन सक्षम करता है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3