2014-09-04 209 views
-1

我想知道在子函数中调用返回父函数。如何从node.js中的调用函数访问调用函数?

app.get('/path', function(req, res, next) { 
     var result = child('test_Val', next); 

     return res.send(200); 
    }); 

function child(arg1, next) { 
    if (condition) { 
     //I want to call return parent function with next() here. 
    } 
} 

这可能吗?

+1

你不是指'父母'和'孩子'功能,你的意思是'调用'和'调用'功能。不,你看不到被调用函数的调用函数。如果你想这样做,这意味着你的逻辑有问题。 “呼叫返回父功能”是什么意思? – 2014-09-04 16:58:47

回答

1

要前言,你真的不应该这样做。你的问题几乎肯定意味着你正在设计错误的东西,而这样做会在第8版中禁用大量的优化。

但你可以做到。

从一个函数中,魔术变量arguments可用。这是一个包含该函数所有参数的数组。此外,它有一些有趣的属性 - 其中之一是callee。这是对当前功能的引用。它也有一些有趣的属性。一个是arguments,它回到原来的arguments对象。我们正在寻找的是caller

所以,从函数内部,arguments.callee.caller是对调用函数的引用。

再次,请不要这样做。你应该在更多的背景下提出另一个问题,以便有人可以帮助你解决真正的问题。

+1

(在严格模式下不允许'callee'的注意事项。) – 2014-09-04 17:23:55

+0

谢谢。我会重新设计逻辑取决于你的建议。 – user3867387 2014-09-05 00:59:17