Anonim

डिफ़ॉल्ट रूप से, jQuery में $ .ajax अनुरोध अतुल्यकालिक पर सेट है। चर नाम async है और मान सत्य पर सेट है। इससे मुझे थोड़ा भ्रम हुआ जब पहले इसके बारे में सीखा, तो चलो इस पर चलते हैं।

एसिंक्रोनस बनाम सिंक्रोनस

JQuery में डिफ़ॉल्ट सेटिंग। मेरे अनुभव में, एसिंक्रोनस को लगभग हमेशा चाल करना चाहिए। विशेष रूप से 2 स्थितियां भी हैं जो समकालिक कॉल के लिए अनुमति नहीं देती हैं।

  • क्रॉस डोमेन अनुरोध। अगर मैं techjunkie.com से ajax रिक्वेस्ट को फाइल पर कर रहा हूँ, जहाँ पर भी (एक पूरी तरह से अलग डोमेन), जो एक क्रॉस डोमेन अनुरोध होगा।
  • jsonp - यदि आप JSON डेटा क्रॉस-डोमेन को पुनः प्राप्त करना चाहते हैं, तो JSONP वह है जिसे आप खोज रहे हैं।

सिंक्रोनस का उपयोग कब करें

आपको पहले पता होना चाहिए कि अपने ब्राउज़र को गलत फ्रीज करने के लिए async सेट करना। यह इसे पूरी तरह से बंद कर देता है। सिर्फ आपका पेज ही नहीं, बल्कि हर वो पेज जो यूजर के पास खुला हो सकता है। उदाहरण के लिए, यदि आपका सर्वर मध्य-अनुरोध को धीमा कर देता है, तो आपने उनके ब्राउज़र को तब तक प्रभावी रूप से अक्षम कर दिया है जब तक कि आपके सर्वर को आवश्यक डेटा के साथ पकड़ने और पास करने का मौका न हो।

एक तुल्यकालिक कॉल के साथ इसे जोखिम में डालने के बजाय, बस सफलता या त्रुटि पर कॉलबैक फ़ंक्शन निर्दिष्ट करें। आप संभवतः उपयोगकर्ता के ब्राउज़िंग अनुभव को बर्बाद किए बिना उसी समापन बिंदु पर पहुंच जाते हैं। संक्षेप में, एक तुल्यकालिक कॉल का उपयोग न करें। आपके आवेदन और UX के लिए इसका बुरा है।

अजाक्स में सिंक्रोनस और एसिंक्रोनस के बीच अंतर