लोग,
मैं अपने कोड सेटअप प्रक्रिया कुछ के रूप में नीचे है:
$scope.init = function(){
return $q.all([resource1.query(),resource2.query(),resource3.query()])
.then(result){
$scope.data1 = result[1];
$scope.data2 = result1[2];
$scope.data3 = result[3];
console.log(data1); //prints as [$resolved: false, $then: function]
doSomething($scope.data1,$scope.data2);
}
}
मैं यह धारणा थी कि "फिर" फ़ंक्शन कॉल किया जाएगा केवल जब सभी संसाधनों हल हो जाओ। हालांकि यह वह नहीं है जो मैं अपने कोड में देख रहा हूं। अगर मैं डेटा 1 प्रिंट करता हूं, तो मुझे अनसुलझा मिलता है।
किसी भी सुराग के रूप में जो मैं यहां याद कर रहा हूं ??
'resource1.query()', आदि वापसी करता है एक वादा? ['all'] (http://docs.angularjs.org/api/ng.$q#all) वादे के एक ऐरे की अपेक्षा करता है, और यदि वे वादा नहीं कर रहे हैं तो उन्हें तुरंत पूरा माना जाएगा। –
मैं कोणीय 1.15 का उपयोग कर रहा हूं और यह इस तरह कुछ देता है [$ हल किया गया: झूठा, $ फिर: फ़ंक्शन] मुझे विश्वास है कि यह एक वादा है – runtimeZero
कृपया ध्यान दें कि परिणाम सरणी में सूचकांक शून्य-आधारित हैं, जैसा कि अपेक्षा की जाएगी सरणी, तो $ scope.data1 = परिणाम [0], आदि –