सिंक्रोनस AJAX कॉल करने के अलावा यदि आप कर सकते हैं और सोचते हैं कि यह उचित है, तो इस तरह कुछ संभालने का सबसे अच्छा तरीका क्या है?विभिन्न AJAX कॉल से डेटा कैसे जमा करें?
var A = getDataFromServerWithAJAXCall(whatever);
var B = getDataFromServerWithAJAXCallThatDependsOnPreviousData(A);
var C = getMoreDataFromServerWithAJAXCall(whatever2);
processAllDataAndShowResult(A,B,C);
बशर्ते कि मैं उन कार्यों के लिए कॉलबैक के पास कर सकते हैं, मुझे पता है मैं बंद और lambdas उपयोग कर सकते हैं काम इस तरह किया जाना:
var A,B,C;
getDataFromServerWithAJAXCall(whatever, function(AJAXResult) {
A= AJAXResult;
getDataFromServerWithAJAXCallThatDependsOnPreviousData(A, function(AJAXResult2) {
B= AJAXResult2;
processAllDataAndShowResult(A,B,C);
});
});
getMoreDataFromServerWithAJAXCall(whatever2, function(AJAXResult) {
C= AJAXResult;
processAllDataAndShowResult(A,B,C);
});
function processAllDataAndShowResult(A,B,C) {
if(A && B && C) {
//Do stuff
}
}
लेकिन यह सही है या पर्याप्त साफ महसूस नहीं करता है मेरे लिए। तो क्या एक बेहतर तरीका है या कम से कम एक क्लीनर तरीका एक ही काम करने के लिए है या यह सिर्फ इतना है कि मैं जावास्क्रिप्ट कार्यात्मक प्रोग्रामिंग के लिए उपयोग नहीं किया जाता है?
वैसे, मैं jQuery (1.4.2) है कि अगर मदद करता है उपयोग कर रहा हूँ।
धन्यवाद।
आप नहीं पूछ रहे हैं कि आपकी कॉल को कैसे कम करें? लगातार तीन AJAX कॉल करने का सबसे अच्छा तरीका क्या है? –
यह सही है। क्या आपके पास सर्वर को सभी डेटा एक बार में वापस करने के अलावा इस अर्थ में कोई अन्य सुझाव है? – Xay