首页 新闻 会员 周边 捐助

typescript 中获取 caller 信息的问题

0
悬赏园豆:30 [已解决问题] 解决于 2025-06-19 17:05

在一个 function 中通过下面的代码 获取 caller name

console.log(arguments.callee.caller.name);

运行时报错

'caller', 'callee', and 'arguments' properties may not be accessed on strict mode functions or the arguments objects for calls to them.

请问如何解决这个问题?

dudu的主页 dudu | 高人七级 | 园豆:24691
提问于:2025-06-19 14:59
< >
分享
最佳答案
0

绕道而行,采用简单除暴有效的方法解决了,抛(throw)接(catch)异常,然后在异常的 stack trace 中找到 caller 信息

public toggle(show: boolean) {
    try {
        throw new Error();
    } catch (ex) {
        console.log(ex);
    }

    this._$show.update(() => show);
    return Promise.resolve();
}

对于添加临时代码用于定位问题的场景,这个方法不仅可以接受,而且可以直接定位到是哪行代码调用的

dudu | 高人七级 |园豆:24691 | 2025-06-19 17:00
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册