在Javascript中我有从外部库中的以下功能:如何参数传递给回调无法获得母亲的功能在Javascript
getParentTabId(callback);
在它被用于这样的代码的其他部分:
var openTab = function(result){
var parentId = result.Id;
//opentNewTab is another external function
openNewTab(parentId, 'https://www.google.com');
}
function handleOnClick(){
getParentTabId(openTab);
}
这就是工作。我的目的是帕苏到openNewTab一个变量作为第二个参数,而不是使用固定的值,例如“https://www.google.com”,如下所示:
var openTab = function(result, url){
var parentId = result.Id;
//opentNewTab is another external function
openNewTab(parentId, url);
}
我尝试以下:
function handleOnClick(){
var url = 'http://stackoverflow.com';
getParentTabId(function(result){
openTab(url, result);
});
}
但是它不因为回调无法看到url
变量。考虑到我无法修改getParentTabId函数,您将如何解决此问题?
'但它不工作,因为回调是无法看到的URL variable' - 这是不正确的。由于javascript关闭,回调可以看到url变量。 – Andrey
难道你是在切换'url'和'result'参数吗? openTab需要一个'result,url',但是你在回调中写了'url,result'。 – Phortuin