当我的一个事件被触发时,我正在调用一个函数。问题是,尽管变量具有值,但函数的返回值是不确定的。
这是我的代码
事件:
chrome.tabs.onActivated.addListener(function(tabId, changeInfo, tab) {
let websiteInfo = getTabInfo();
console.log(websiteInfo); // undefined
});
功能:
function getTabInfo() {
chrome.tabs.query({ active: true, lastFocusedWindow: true }, function(tabs) {
let url = tabs[0].url;
let rootDomain = extractRootDomain(url);
let favicon = tabs[0].favIconUrl;
let websiteInfo = {
domain: rootDomain,
favicon: favicon,
};
console.log(websiteInfo); // correctly filled object
return websiteInfo;
});
}
我不知道为什么返回值不确定。您能为我解释这种情况吗?