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相當陌生,並且不知道充分利用的許多功能。任何人都可以提出處理這個問題的好方法嗎?
您可以發佈服務的完整代碼和使用示例。從你發佈的代碼中不清楚(至少對我來說)。 –