在控制台中打印所有正在javascript中执行的功能

时间:2017-12-27 05:25:14

标签: javascript angularjs

我正在创建 AngularJS Javascript 应用程序,其中我在单个指令中具有500/600功能,

许多功能都是Inter互相连接, 流程从On load Event开始,

我想知道我什么时候运行这个项目 在 Onload Event

上调用了哪些功能

我希望在控制台上打印相同的内容,

  

我谷歌但是我无法得到任何东西,

有没有办法找出正在执行的功能?

2 个答案:

答案 0 :(得分:0)

您可以将所有功能包装到"日志包装器"

var self = this;
function LogWrapper(action){ 
    return function(){
        console.log(action.name); 
        return action.apply(self, arguments);
    }
}

//usage:
function ActualFunctionInner(arg1, arg2){
    //some logic
}
var ActualFunction = LogWrapper(ActualFunctionInner);
var result = ActualFunction(1, 2);//console: ActualFunctionInner

第二个解决方案是通过Proxy

let handler = {
       get(target, propKey) {
            var inner = target[propKey];
            return function () {
                console.log(inner.name);
                return inner.apply(this, arguments);
            };
        }
    };
var loggedSelf = new Proxy(self, handler);
var result = loggedSelf.ActualFunction(1, 2);//console: ActualFunction

答案 1 :(得分:0)

调用console.trace('调用on-load')以在on-load函数上查找堆栈跟踪。最好在你希望执行的最后一个函数上调用trace来查找之前调用过的所有其他函数。