Google chrome extension 代码仅在放置断点时有效

Google chrome extension 代码仅在放置断点时有效,google-chrome-extension,Google Chrome Extension,我得到了以下代码(在一个名为page.js的单独文件中): 由以下代码(位于background.html中)调用 只有在“return imdbid;”行上放置断点时,此代码才起作用。当我跳过断点时,它只返回一个空字符串。有什么我遗漏的吗?当你放置断点时,它会起作用,这表明时间问题 在本例中,我假设getSelected是一个异步操作(因此它需要回调),因此您需要等待它完成并在变量具有所需值之前执行回调。这是正确的。imdbid在回调中分配,在执行return语句之前可能不会调用回调。啊,这很

我得到了以下代码(在一个名为page.js的单独文件中):

由以下代码(位于background.html中)调用


只有在“return imdbid;”行上放置断点时,此代码才起作用。当我跳过断点时,它只返回一个空字符串。有什么我遗漏的吗?

当你放置断点时,它会起作用,这表明时间问题


在本例中,我假设
getSelected
是一个异步操作(因此它需要回调),因此您需要等待它完成并在变量具有所需值之前执行回调。

这是正确的。imdbid在回调中分配,在执行return语句之前可能不会调用回调。啊,这很有意义。那我得另找一条路了。谢谢你帮我澄清。
var page = new function() {

    this.getImdbID = function(){
        var imdbid = '';
        chrome.tabs.getSelected(null, function(tab) {
                 imdbid='0944835';
            }); 
            return imdbid;
    };
}
var imdbid = page.getImdbID();