如何改进此javascript代码
我正在构建一个节点/角度应用程序。我不习惯使用javascript。我为所有静态列表对象提供了服务。我试图使这段代码尽可能通用。我想我可以做得更好。以下是我目前拥有的(我只放了2个,但我还有更多): 我想我可以做得更好,也许可以在一个列表中声明我的服务,然后循环建造工厂。 另外,在$resource中还有冗余,我想去掉它如何改进此javascript代码,javascript,angularjs,Javascript,Angularjs,我正在构建一个节点/角度应用程序。我不习惯使用javascript。我为所有静态列表对象提供了服务。我试图使这段代码尽可能通用。我想我可以做得更好。以下是我目前拥有的(我只放了2个,但我还有更多): 我想我可以做得更好,也许可以在一个列表中声明我的服务,然后循环建造工厂。 另外,在$resource中还有冗余,我想去掉它 但是我不知道怎么做。您可以在数组中添加'cities','boites',…,并使用for来生成代码,但这会有点复杂。你真的想要吗 function returnSolList
但是我不知道怎么做。您可以在数组中添加
'cities','boites',…
,并使用for
来生成代码,但这会有点复杂。你真的想要吗
function returnSolList (n, $resource) {
return $resource(n+'/', {}, {'query' : {method : 'GET', cache : true, isArray:true } });
}
var names = ['Cities','Boites'];
for(var i=0; i<names.length; i++){
mod.factory(
names[i],
[
'$resource',
(function(name){
return function($resource){
return returnSolList(name, $resource);
}
})(names[i].toLowerCase())
]
);
}
函数returnSolList(n$resource){
返回$resource(n+'/',{},{'query':{method'GET',cache:true,isArray:true});
}
变量名称=['Cities','Boites'];
对于(var i=0;我知道的解决方案工作得很好,代码也很简单。我想我可以通过循环使它更简单。但正如我所看到的,它相当复杂。我将保持我的代码不变。感谢你的答案和链接。我同意你的看法。通常循环使事情更简单,但当你必须在循环中声明函数时de有点复杂,人们会感到困惑。闭包编译器也非常适合调试。但在大文件上使用它时,请确保没有警告。如果您熟悉终端,它也有jar版本。
function returnSolList (n, $resource) {
return $resource(n+'/', {}, {'query' : {method : 'GET', cache : true, isArray:true } });
}
var names = ['Cities','Boites'];
for(var i=0; i<names.length; i++){
mod.factory(
names[i],
[
'$resource',
(function(name){
return function($resource){
return returnSolList(name, $resource);
}
})(names[i].toLowerCase())
]
);
}