0
我正在写一个angularjs工厂来做一些计算。我将它命名为CalcEngineService此工厂有一个由控制器,指令使用的方法。这种工厂方法被称为几百次。Angularjs工厂方法实现
我的问题是工厂方法需要收集规则来进行计算。我从http服务获取这些规则集。当我使用http调用来获取规则时,我会看到数百个http调用,并且性能会受到影响。我该如何限制呼叫才能将规则收集仅限一次,并确保对规则进行的任何更改也得到了处理。
defaultRules = [];
function calculateDuedate(test) {
getDefaultRules().then(function(rules){
// DO calculations with rules and find the duedate and update test with duedate
});
return test.dueDate;
}
function getDefaultRules() {
return $q(function (resolve, reject) {
if (utility.isEmpty(defaultRules)) {
rulesService.getDefaultRules().then(function (rules) {
defaultRules = rules.data;
resolve(defaultRules);
});
}
else {
resolve(defaultRules)
}
});
}
我对angularjs相当陌生,并且不知道充分利用的许多功能。任何人都可以提出处理这个问题的好方法吗?
您可以发布服务的完整代码和使用示例。从你发布的代码中不清楚(至少对我来说)。 –