एक कोणीय परियोजना के लिए, मुझे वादे घोंसला करना पड़ता है और मैं ऐसे मामलों में भाग लेता हूं जहां मुझे यकीन नहीं है कि मैं क्या कर रहा हूं।कोणीय सशर्त वादे
return Action1().then(function (data) {
var defer = $q.defer();
if (data.condition) {
$q.all([Action2(), Action3(), Action4()]).then(function() {
defer.resolve();
});
} else {
defer.reject("error_code");
}
return defer.promise;
});
Action1, एक्शन 2, Action3 और Action4 काम कर रहे हैं वादे कार्य: यहाँ मेरी कोड में से एक है। यह बहुत सारे वादे और कार्य स्थितियों पर निर्भर करता है। क्या मैं ऐसा कर सकता हूं और सुनिश्चित कर सकता हूं कि मेरा मुख्य कार्य हमेशा हल हो जाएगा या खारिज कर दिया जाएगा?
मैंने पढ़ा है कि हम संकल्प समारोह के अंदर वादा पास कर सकते हैं। मुझे लगता है कि क्या करना है और इसके बाद के संस्करण के रूप में यह एक ही है सकते हैं:
return Action1().then(function (data) {
var defer = $q.defer();
if (data.condition) {
defer.resolve($q.all([Action2(), Action3(), Action4()]);
} else {
defer.reject("error_code");
}
return defer.promise;
});
आपने अपना उत्तर संपादित किया। मैं दूसरे भाग के लिए पूछ रहा था लेकिन जब आप पोस्ट कर रहे थे तो आप इसका उत्तर देते थे। मैं वादे के साथ एक नौसिखिया हूँ। मैं फॉर्म (संकल्प और अस्वीकार के साथ स्थगित) सीखता हूं और मैं इसे हर जगह अपने प्रोजेक्ट में उपयोग कर रहा था। धन्यवाद मुझे यह इंगित करने के लिए बहुत कुछ है कि मैं सीधे $ q का उपयोग कर सकता हूं या त्रुटि फेंक सकता हूं। – JeromeModi