Angular工厂被迭代了几十次

时间:2016-01-14 18:00:08

标签: javascript angularjs angularjs-service angularjs-factory

在我的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次(我没有计算,但它确实停止了,并且它不是一个无限循环错误 - 你可以在下面的截图中看到一个小例子)。这看起来非常低效。

enter image description here

这是Angular应用程序中的正常行为吗? 如果没有,我该怎么做才能调试这个并有效地减少调用这个工厂的次数。

以下是调用此工厂的指令之一的代码,以防它有用:

http://pastebin.com/N2AYCJRg

0 个答案:

没有答案