मैं कोणीय $q
सेवा और इसकी संबंधित वस्तुओं और एपीआई पर एक संभाल पाने की कोशिश कर रहा हूं। जब मैं अपने कंसोल में वस्तुओं को देखने मैं देख रहा हूँ:
var deferred = $q.defer()
...(and then from console inspection)...
$q: Object {defer: function, reject: function, when: function, all: function}
deferred: Object {resolve: function, reject: function, notify: function, promise: Object}
deferred.promise: Object {then: function, catch: function, finally: function}
यह कुछ सवाल उठता है:
$q.reject()
औरdeferred.reject()
के बीच क्या अंतर है? प्रत्येक का उपयोग कब करें?- में
errorFn
और मेंdeferred.promise.catch(catchFn)
में क्या संबंध है? - यदि मेरे पास घोंसला वाले वादे का गुच्छा है और एक त्रुटि होती है, तो क्या बाहरीतम
catch()
फ़ंक्शन हमेशा कॉल किया जाएगा? क्या होगा यदि घोंसले के वादे में से एक को कैच फ़ंक्शन भी परिभाषित किया गया हो? क्या वह बाहरी पकड़ को निष्पादित करने से रोक देगा?
धन्यवाद।
संक्षिप्त उत्तर के लिए धन्यवाद। वे बहुत स्पष्ट हैं।फिर भी संख्या # 2 पर अटक गया। अपने उदाहरण कोड को मानें कि सफलतापूर्वक आपके कॉल में एफएन और त्रुटि दोनों को()। पकड़ने के लिए अब कौन सी परिस्थितियों में चलेंगे? – lostdorje
मैंने अपना जवाब 2 में अपडेट किया)। पकड़ विधि बिल्कुल उस कार्य के दूसरे तर्क के समान ही है। promise.catch (errorFn) वादा करने के समान है। फिर (शून्य, त्रुटि एफएन)। – dustyrockpyle
यदि कोई व्यक्ति '$ q' का उपयोग कब करना है, तो मुझे यह लेख बहुत उपयोगी लगता है http://www.codelord.net/2015/09/24/$q-dot-defer-youre-doing-it-wrong / – Chris