如何将大型 Service Factory() 分解为更小的代码块?
How to break large Service Factory() into smaller blocks of code?
我是 AngularJS 的新手,在编写代码时,尤其是我的服务 .factory() 变得非常大。例如,在一个工厂中,我有 4 个非常大的承诺......最后我将它们全部打包成一个 $q.all([promise1(),promise2(),promise3(),promise4()]) .then(function(response)。这一切都很干净……但是,随着工厂的发展和发展,管理每一段代码变得越来越困难。
我正在寻找一种方法,可以让我清理这个巨大的 .factory() 并允许我从外部文件将代码加载到工厂中,或者打破 .factory 但仍然能够使用 $ q.all(...) 让它们同时处理...或其他一些我不属于 thinking/aware 的方法。
这完全是为了我自己管理代码的理智......以及通过简单地注释掉一行来激活或停用特定的承诺,这反过来不需要加载所有那些未使用的代码字节.
工厂可以注入工厂。大工厂可以重构为小工厂。
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 的新手,在编写代码时,尤其是我的服务 .factory() 变得非常大。例如,在一个工厂中,我有 4 个非常大的承诺......最后我将它们全部打包成一个 $q.all([promise1(),promise2(),promise3(),promise4()]) .then(function(response)。这一切都很干净……但是,随着工厂的发展和发展,管理每一段代码变得越来越困难。
我正在寻找一种方法,可以让我清理这个巨大的 .factory() 并允许我从外部文件将代码加载到工厂中,或者打破 .factory 但仍然能够使用 $ q.all(...) 让它们同时处理...或其他一些我不属于 thinking/aware 的方法。
这完全是为了我自己管理代码的理智......以及通过简单地注释掉一行来激活或停用特定的承诺,这反过来不需要加载所有那些未使用的代码字节.
工厂可以注入工厂。大工厂可以重构为小工厂。
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]);
}
});
除了使大型工厂的代码更易于管理之外,各个工厂还可以自行进行单元测试。