सिंक्रोनस XHRs से छुटकारा पाएं

एरिक बिडेलमैन

ध्यान दें! XMLHttpRequest.responseType को सेट करने पर, XMLHttpRequest2 की खास जानकारी में हाल ही में बदलाव किया गया है, ताकि सिंक्रोनस अनुरोध न भेजा जा सके. इस बदलाव के पीछे का मकसद है, जहां भी संभव हो, सिंक्रोनस xhr के इस्तेमाल को कम करने में मदद मिले.

उदाहरण के लिए, यह कोड अब Chrome और FF के डेवलपर चैनल बिल्ड में INVALID_ACCESS_ERR को थ्रो करेगा:

var xhr = new XMLHttpRequest();
xhr.responseType = 'arraybuffer';
xhr.open('GET', '/', false); // sync request
xhr.send();

WebKit Bug और Mozilla Bug देखें

सिंक्रोनस XHR कई वजहों से खराब होते हैं, लेकिन MSDN की ब्लॉग पोस्ट, "आपको XMLHttpRequest एसिंक्रोनस" क्यों इस्तेमाल करनी चाहिए, में इन समस्याओं के बारे में अच्छे से बताया गया है.

यह आम तौर पर वेब के लिए एक बड़ा बदलाव है, लेकिन इससे कुछ ऐसे मौजूदा ऐप्लिकेशन काम करना बंद कर सकते हैं जो सिंक्रोनस व्यवहार का इस्तेमाल कर रहे थे. एसिंक्रोनस अनुरोधों का इस्तेमाल करने के लिए, कृपया अपने XHR कोड को देखें और उसे जल्द से जल्द अपडेट करें.