在我的Angular应用程序中,我有一个名为AuthFactory
的工厂。
到目前为止,我正在我的应用程序中的一个.run
块中注入此AuthFactory,以及四个独立的控制器 - 其中三个是绑定到指令的控制器(我认为它们的名称和功能对我的问题并不重要)
在这个工厂内,我有以下功能:
function hasAccess(operation, clearance) {
console.log(operation);
console.log(clearance);
var userPermissions = $localStorage.userPermissions;
return userPermissions[operation] > SECURITY[clearance];
}
作为工厂实例的一部分返回,如下所示:
var service = {
login: login,
hasAccess: hasAccess,
isAuthenticated: isAuthenticated,
isAuthorized: isAuthorized,
logout: logout,
passwordReset: passwordReset,
getUserPermissions: getUserPermissions
};
现在到了这一点:我添加了您之前看到的console.log
语句,以测试参数是否正确传递。但是,这些语句在我的控制台中被记录超过50次(我没有计算,但它确实停止了,并且它不是一个无限循环错误 - 你可以在下面的截图中看到一个小例子)。这看起来非常低效。
这是Angular应用程序中的正常行为吗? 如果没有,我该怎么做才能调试这个并有效地减少调用这个工厂的次数。
以下是调用此工厂的指令之一的代码,以防它有用: