इस विशेष आइटम के लिए दिए गए नमूने के बाद, मेरे पास एक ही समय में शुरू किए गए कुछ दर्जन AJAX अनुरोध हैं, और परिणाम जितनी जल्दी हो सके प्रतिक्रिया देने के लिए पूर्ण होते हैं ।पता लगाएं कि जब कोई AJAX अनुरोध
वर्तमान में मेरे पास सभी आइटम "लोड हो रहा है ..." के रूप में दिखाए जाते हैं, फिर धीरे-धीरे अनुरोधों को पूरा करने के रूप में बदल दिया जाता है।
ब्राउज़र द्वारा निर्धारित सीमाओं के कारण, उनमें से केवल पांच में से केवल वास्तव में किसी भी समय लोड होता है, अन्य लोगों को पहले तक पूरा होने तक अवरुद्ध कर दिया जाता है।
मैं जानना चाहता हूं कि ब्लॉक समाप्त होने पर पता लगाने का कोई तरीका है या अनुरोध वास्तव में भेजा जाता है। जब तक यह पूरा हो गये, इस समय मैं तत्काल उत्तराधिकार (ध्यान दें कि परीक्षण के लिए, AJAX प्रतिक्रियाएं हैं 2
, 3
और 4
प्राप्त किसी भी स्थिति निकाल दिया जाता है -
प्रारंभिक onreadystatechange
का उपयोग कर 4
के अलावा अन्य readyState
मूल्यों पता लगाने के लिए परीक्षण का वादा नहीं कर रहे हैं कृत्रिम रूप से usleep
आईएनजी द्वारा यादृच्छिक समय के लिए देरी हुई)
कोई विचार? या अवरुद्ध भाग को मैन्युअल रूप से कार्यान्वित करने का मेरा एकमात्र असली विकल्प है?
आपका मतलब है कि ब्राउज़र अवरुद्ध कर रहा है; आप जंगली में 10 अनुरोध फेंकते हैं और ब्राउजर केवल 5 में से समानांतर में आने की इजाजत देता है और शेष को पकड़ में रखा जाता है। यदि आपको कोई प्रासंगिक उत्तर नहीं मिलता है, तो आपको खुद को एक कतार बनाना पड़ सकता है ताकि आप उचित समय पर अनुरोध शुरू कर सकें। एक अंतिम उपाय समाधान के रूप में। – Gimby
क्या आप सत्यापित कर सकते हैं (आपके नेटवर्क मॉनीटर के माध्यम से) कि प्रतिक्रियाओं को वास्तव में प्रत्येक 'तैयार चरण' संक्रमण को अलग करने के लिए काफी देरी हो रही है? – svidgen
@ स्विसजन: मैंने 6 सेकंड की नींद के साथ AJAX लक्ष्य को मारकर इस बिंदु का परीक्षण किया है। जैसा कि 6 सेकंड के बाद लगातार 2,3,4 ट्रिगर हुआ। यहां [एक डेमो फीडल] है (http://jsfiddle.net/2nWCq/)। – mithunsatheesh