मैं AngularJS के लिए नया हूं और जैसा कि मैं अपना कोड लिख रहा हूं, विशेष रूप से मेरी सेवाएं .factory() काफी बड़ी हो रही हैं। उदाहरण के तौर पर, एक कारखाने में मेरे पास 4 बहुत बड़े वादे हैं..और अंत में मैं उन सभी को एक $q.all([promise1(),promise2(),promise3(),promise4()]) में बंडल करता हूं। (फ़ंक्शन (प्रतिक्रिया)। यह सब सफाई से काम करता है ... हालाँकि, जैसे-जैसे कारखाना बढ़ता है और कोड के प्रत्येक अनुभाग को प्रबंधित करना कठिन और कठिन होता जाता है।
मैं एक ऐसी विधि देख रहा हूं जो मुझे इस विशाल .factory() को साफ करने की अनुमति देगी और मुझे बाहरी फ़ाइल से कारखाने में कोड लोड करने या .factory को तोड़ने की अनुमति देगी लेकिन फिर भी $q.all(. ..) उन सभी को एक साथ संसाधित करने के लिए ... या किसी अन्य विधि के बारे में मैं सोच नहीं रहा/जागरूक नहीं हूं।
यह कोड को प्रबंधित करने में मेरी अपनी विवेक के लिए है ... साथ ही साथ विशिष्ट वादों को सक्रिय या निष्क्रिय करने के लिए केवल एक पंक्ति पर टिप्पणी करके जो बदले में कोड के उन सभी बाइट्स को लोड करने की आवश्यकता नहीं है जिनका उपयोग नहीं किया जा रहा है।
1 उत्तर
फैक्ट्रियों को कारखानों में इंजेक्ट किया जा सकता है। एक बड़े कारखाने को छोटे कारखानों में पुन: स्थापित किया जा सकता है।
app.factory("promiseService1", function() {
return function promise1 () {
var promise1;
//code here
return promise1;
};
});
app.factory("promiseService2", function() {
return function promise2 () {
var promise2;
//code here
return promise2;
};
});
फिर उन कारखानों को शीर्ष कारखाने में इंजेक्ट करें।
app.factory("megaService", function($q, promiseService1, promiseService2) {
return function megaPromise() {
var promise1 = promiseService1();
var promise2 = promiseService2();
return $q.all([promise1, promise2]);
}
});
बड़े कारखाने के लिए कोड को और अधिक प्रबंधनीय बनाने के अलावा, अलग-अलग कारखानों को अपने दम पर इकाई परीक्षण किया जा सकता है।
नए सवाल
angularjs
AngularJS (1.x), ओपन-सोर्स जावास्क्रिप्ट फ्रेमवर्क के बारे में प्रश्नों के लिए उपयोग करें। कोणीय 2 या बाद के संस्करणों के लिए इस टैग का उपयोग न करें; इसके बजाय, [कोणीय] टैग का उपयोग करें।