मैं सीमित धाराओं के साथ अनुक्रमिक अतुल्यकालिक ajax अनुरोध करने के लिए की जरूरत की दी गई संख्या के साथ अनुक्रमिक अतुल्यकालिक ajax अनुरोध कैसे करना है। अभी तक मुझे वेब सर्वर पर केवल एक स्ट्रीम पर कब्जा करने की अनुमति है इसलिए मैं समय पर केवल एक AJAX अनुरोध कर सकता हूं।धाराओं
मैं समारोह जो मुझे मदद करता है जब मैं एक समय में केवल एक धारा के उपयोग की अनुमति निम्नलिखित है।
function initiateChain() {
var i = 0;
var tasks = arguments;
var callback = function() {
i += 1;
if (i != tasks.length) {
tasks[i](callback); //block should call callback when done otherwise loop stops
}
}
if (tasks.length != 0) {
tasks[0](callback); //initiate first one
}
}
कहते हैं कि अगर मैं तीन ajax सहायक कार्यों
function getGadgets(callback) {
//ajax call
callback(); // I call this in complete callback of $.ajax
}
function getBooks(callback) {
//ajax call
callback(); // I call this in complete callback of $.ajax
}
function getDeals(callback) {
//ajax call
callback(); // I call this in complete callback of $.ajax
}
आह्वान के बाद है सुनिश्चित करता है कि अधिक से अधिक 1 ajax अनुरोध इस ग्राहक से बनाया गया है
initiateChain(getGadgets, getBooks, getDeals);
अब मैं initiateChain को बढ़ाने के लिए की जरूरत है धाराओं की मनमानी संख्या का समर्थन करने के लिए। मैं धाराओं के 2 या n नंबर का उपयोग करने मैं चाहूँगा विचारों को पता है ऐसा करने के लिए ajax सहायक कार्यों getGadgets, getDeals, getDeals बदले बिना अनुमति कहो।
संक्षेप में, मेरे पास फ़ंक्शन का एक सेट है, एन, इस मामले में गैजेट्स, getDeals और getDeals (| N | = 3) जिन्हें प्रत्येक को वेब सर्वर से कनेक्शन चाहिए। वर्तमान में, मैं केवल एक ही समय में एक अनुरोध निष्पादित कर सकता हूं, इसलिए आरंभ करें चेन फ़ंक्शन अनुक्रम में तीन विधियों को कॉल करता है। अगर मेरे पास एम कनेक्शन तक पहुंच थी, तो मैं निष्पादित करना चाहता हूं | एन | समानांतर में कार्य (अधिकतम एम तक)।
वास्तव में क्या आपके प्रश्न है? – jfriend00
जैसा कि मैंने उल्लेख किया मैं, कार्य, एन का एक सेट है कि इस मामले में getGadgets, getDeals और getDeals (| एन | = 3) कि प्रत्येक वेब सर्वर से कनेक्शन की जरूरत है। वर्तमान में, मैं केवल एक ही समय में एक अनुरोध निष्पादित कर सकता हूं, इसलिए आरंभ करें चेन फ़ंक्शन अनुक्रम में तीन विधियों को कॉल करता है। अगर मेरे पास एम कनेक्शन तक पहुंच थी, तो मैं निष्पादित करना चाहता हूं | एन | समानांतर में कार्य (अधिकतम एम तक)। – harsha