gpt4 book ai didi

javascript - 在另一个函数中调用匿名函数而不调用父函数

转载 作者:行者123 更新时间:2023-12-01 18:35:26 26 4
gpt4 key购买 nike

我试图在另一个函数内调用匿名函数,但不调用父函数。因为调用父函数会产生错误。

父函数:

function onloadCallback() {
grecaptcha.render("recaptchaHolder", {
"size": "invisible",
"sitekey": "1Lcsvh53yhsd5312hhsg554dfhs098bbeyi_Hv",
"callback": function(resp) {
$("zendesk-ticketing-form").attr("grecaptcha", resp)
}
});
}

我想称之为:

function(resp){$("zendesk-ticketing-form").attr("grecaptcha",resp)}

我正在使用 Java Selenium 来执行此操作..

我尝试过这个:

 js.executeScript("onloadCallback()(\"" + responseToken + "\")");

但它会产生错误,因为它在尝试访问其中的匿名函数之前调用了 onloadCallback (父函数)。

有什么想法吗?

最佳答案

您无法在所需的上下文中直接调用函数,但可以将函数提取到外部作用域,然后在内部和全局范围内使用它。

假设你有这样的情况;

function a() {
b('some-name', {
foo: 1,
bar: 2,
c: function(a, b) {
console.log('i was finally called', a, b);
}
})
}

// turn it into something like

function functionForC(a, b) {
console.log('i was finally called', a, b);
}

function a() {
b('some-name', {
foo: 1,
bar: 2,
c: functionForC
})
}

我建议将该函数移出函数的范围,然后使用 at 作为其中的引用,如下所示;

这样您当前的功能就会被保留,并且您可以轻松地直接访问 functionForC()

关于javascript - 在另一个函数中调用匿名函数而不调用父函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60065787/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com