我得到了以下代码(在一个名为page.js的单独文件中):
var page = new function() {
this.getImdbID = function(){
var imdbid = '';
chrome.tabs.getSelected(null, function(tab) {
imdbid='0944835';
});
return imdbid;
};
}
以下代码调用它(在background.html中)。
var imdbid = page.getImdbID();
此代码仅在我在“return imdbid;”上放置断点时才有效行。当我跳过断点时,它只返回一个空字符串。我有什么遗漏的吗?
答案 0 :(得分:5)
当您放置断点时它起作用的事实暗示了时间问题。
在这种情况下,我认为getSelected
是一个异步操作(因此它需要回调),所以你需要等待它完成并在变量之前执行回调你想要的价值。