代码仅在我放置断点时有效

时间:2011-01-04 21:06:35

标签: google-chrome-extension

我得到了以下代码(在一个名为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;”上放置断点时才有效行。当我跳过断点时,它只返回一个空字符串。我有什么遗漏的吗?

1 个答案:

答案 0 :(得分:5)

当您放置断点时它起作用的事实暗示了时间问题。

在这种情况下,我认为getSelected是一个异步操作(因此它需要回调),所以你需要等待它完成并在变量之前执行回调你想要的价值。