gpt4 book ai didi

javascript回调不起作用

转载 作者:行者123 更新时间:2023-11-30 10:49:43 24 4
gpt4 key购买 nike

我有这样的代码

function SocialMiner()     
{
var verbose=true;
var profileArray=new Array();
var tabUrl;
this.getTabUrl=function(callback)
{
chrome.tabs.getSelected(null, function(tab)
{
myUrl = tab.url;
console.log("0"+tab.url);
console.log("calling callback");
callback.call(tab.url);

});
}

this.setTabUrlValue=function(pageUrl)
{
console.log("1"+pageUrl);
tabUrl=pageUrl;
}
};

我调用第一个方法,第二个作为回调

 var pageUrl=miner.getTabUrl(miner.setTabUrlValue);

我观察到的是,第二个函数没有接收到值,即 pageUrl 未定义,但是它在第一个函数中被正确传递。有什么指点吗?

最佳答案

call 的语法是不正确的; call 的第一个参数决定了您正在调用的函数中 this 的值。第二个参数是放置要传递给函数的参数数组的位置

你可以简单地使用

callback(tab.url);

在这种情况下。

如果您想使用调用:

callback.call(this, tab.url);

关于javascript回调不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6221180/

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