Mic*_*ael 8 javascript node.js
我有一个任务,依赖于function.caller来检查调用者是否被授权.
根据这个URL,所有主流浏览器都支持调用者...并且我的所有单元测试都通过:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/caller
但是,nodejs拒绝所有访问function.caller的尝试(将其报告为null).
我愿意接受有关在nodejs上工作的建议......我不想让这个框架只适用于浏览器.
谢谢!
eff*_*_it 11
Caller-id npm软件包使它像以下网站一样简单:https://www.npmjs.com/package/caller-id 来自文档:
var callerId = require('caller-id');
// 1. Function calling another function
function foo() {
bar();
}
function bar() {
var caller = callerId.getData();
/*
caller = {
typeName: 'Object',
functionName: 'foo',
filePath: '/path/of/this/file.js',
lineNumber: 5,
topLevelFlag: true,
nativeFlag: false,
evalFlag: false
}
*/
}
Run Code Online (Sandbox Code Playgroud)
msc*_*dex -3
您可以用来arguments.callee.caller获取调用者的引用。然而我相信它(仍然)已被弃用(尽管它的最终删除可能会在某些情况下导致问题,请参阅此处的讨论)并且您也错过了一些编译器/解释器优化。
例子:
function foo() {
bar();
}
function bar() {
console.log(arguments.callee.caller.name);
}
foo();
// outputs: foo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9704 次 |
| 最近记录: |