我有以下内容:
return function(callback) {
console.log(callback.toString())
SystemJS.import('app/shared/shared.js').then(function(result){
callbackFunction = callback;
callback(dashboard);
main();
});
}
这是作为动态JS调用的一部分加载的,
var script_func = new Function('ARGS','kbn','dateMath','_','moment','window','document','$','jQuery', 'services', result.data);
var script_result = script_func($routeParams, kbn, dateMath, _ , moment, window, document, $, $, services);
当我进入script_func
时,它会将我带到已为我的文件动态加载的VM文件 - 当我尝试在最后进入return语句时,它只是跳到最后并返回给我发起script_result = script_func()
来电。
奖励积分:我不知道“动态”是否是正确的术语 - 我不确定这在JavaScript中是什么,只是看到类似的东西被称为“动态加载“。如果我把它称为错误的话,我很乐意纠正,所以我实际上可以找到一些关于此的教程:)
答案 0 :(得分:2)
您可以进入script_func(...)
,因为有一个函数调用可以进入。您无法进入return function() { ... }
,因为该行没有发生任何函数调用。
类似地,您是否希望能够进入作业my_func = function() { ... }
?你不能在那里踩到任何东西,因为那里没有任何电话可以进入。我正在创建一个函数对象并将其存储在my_func
中。我无法进入my_func
中存储的函数,直到我调用它为止。
在您的特定情况下,将创建一个函数对象并将其存储在script_result
中。如果您执行了script_result(...)
,则可以进入该目标。