js 获取函数的调用者

办法

严格模式arguments.callee.caller不给使用了
歪路子截取new Error()的报错字符串stack

const getCall = ()=>{
    let callArr = new Error().stack.split("\n");
    callArr.splice(0, 3);
    const pattern = /at (\w+)/;
    callArr = callArr.map(it=>(it.match(pattern)[1]))
    return callArr;
} 

参考

https://zhuanlan.zhihu.com/p/520565433?utm_id=0

posted @ 2023-06-07 11:01  丁少华  阅读(512)  评论(0编辑  收藏  举报