मैं कुछ JSON
फ़ीड खींचने के लिए एक Angular.js सेवा लिख रहा हूँ की श्रृंखला अज्ञात संख्या के लिए कैसे। प्रारंभ में, सेवा नहीं जानता कि कौन से संसाधन अनुरोध करने के लिए; वे एक अन्य अनुरोध द्वारा लौटाए गए आईडी पर निर्भर हैं।जावास्क्रिप्ट कोणीय: वादों
मैं सिर में दर्द $http
सेवा अनुरोध एक साथ चेन हो रही है। क्या ऐसा करने के लिए एक सामान्य रूप से इस्तेमाल किया पैटर्न है?
मैं Array.reduce
तकनीक एक और धागा पर सुझाव की कोशिश की है, लेकिन आईडी और अनुरोध किया डेटा सिंक कर समस्या थी।
यह मेरे पास अब तक है। क्या किसी के पास कोई सुझाव है?
aService.factory('dummy', function($http){
// Dummy resources.
var resources = [
'http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js',
'http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js',
'http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js'
];
return {
data: function(callback){
var jquerySources = []
var promiseChain = $http({method: 'GET', url: resources[0]});
var l = resources.length
for (var i = 1; i < l; i++){
promiseChain.then(function(data){
jquerySources.push({
url: resources[i],
source: data
});
promise_chain = $http({method: 'GET', url: resources[i]});
if (i === l){
return callback(jquerySources);
}
});
}
}
}
});
धन्यवाद।
के आधार पर पर
आधारित आप वास्तव में बदले में प्रत्येक संसाधन लोड करने के लिए की जरूरत है? यदि नहीं, तो क्या आप केवल कई अनुरोधों को बंद नहीं कर सकते हैं और फिर सभी वादों को हल करने की प्रतीक्षा कर सकते हैं? – codemonkey
क्या आपको अनुक्रमिक रूप से निष्पादित करने की आवश्यकता है या वे समानांतर में चल सकते हैं? –