arguments.callee.caller.name
我知道你是如何得到父母的。
function parent() {
ajax{
success: function(result) {
doOnSuccessFunction() {
}
}
}
}
function doOnSuccessFunction() {
console.log(arguments.callee.caller.name);
}
我想要doOnSuccessFunction来记录" parent"在输出中,但它记录为空,因为成功:function()实际上是父。有没有办法得到ajax调用的父亲我猜是真的是问题。不确定这将如何适用于范围发挥作用和嵌套函数。希望有人已经遇到过这种情况并且可能有解决方案。
这是我到目前为止所提出的,尽可能保持动态。如果还有别的什么,请随时告诉我们吗?
function parent() {
ajax{
callback: arguments.callee.name,
success: function(result) {
doOnSuccessFunction(callback) {
}
}
}
}
function doOnSuccessFunction(callback) {
console.log(callback);
}
答案 0 :(得分:1)
您在success
参数中提供的功能是匿名功能。调用parent
函数时不会执行此操作。它稍后执行(也可能是异步执行)。因此,您无法使用parent
获得arguments
。 (如果你尝试,你可能会得到你的图书馆的内部功能)
您可以使用参数并在拨打电话时提供该功能:
function parent() {
ajax{
success: function(result) {
doOnSuccessFunction(parent);
}
}
}
function doOnSuccessFunction(parent) {
console.log(parent.name);
}
答案 1 :(得分:0)
你可以使用这样的参数:
ajax{
success: function(result) {
doOnSuccessFunction("parent") {
}
}
function doOnSuccessFunction(parent) {
}