如何在angularjs中找到函数调用者

时间:2016-12-01 09:49:19

标签: javascript angularjs

我已经构建了一个angularjs应用程序。我使用javascript console函数的地方很多。 现在我想使用单个变量关闭那些控制台。 每当我使用控制台功能时,我都不想每次检查变量。 所以我决定提供服务来处理这个过程。

控制台工厂

AppModule
.factory("$console", function (ENV) {
    function log (txt) {
        var args = arguments;
        if(ENV.debug) {
            console.log.apply(this, args);
        }
    }
    ...
    ...
});

我按以下方式调用该函数。

控制器

AppModule
.controller('CommonCtrl', function ($scope, $console
    $scope.personalInfo = function () {
            $scope.errmsg = false;
            getPersonalInfo(function (data) {
                if(!$scope.errmsg) {
                    $console.log("userdatainfo:",data);
                }

                ...
                ...
    })
});

一切都很完美。 但只有问题是我只能在检查面板上看到工厂文件的行号。 我需要从调用工厂函数的行号(如上述控制器文件的行号)。 请回复有价值的建议。

1 个答案:

答案 0 :(得分:2)

这是一个javascript功能,而不是Angular。您可以在这样的函数中使用参数。但是,未给出行号,但您获得了来电者姓名。

function Hello()
{
    console.log("caller is " + arguments.callee.caller.toString());
}