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

Hen*_*rik 3 google-chrome-extension

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

var page = new function() {

    this.getImdbID = function(){
        var imdbid = '';
        chrome.tabs.getSelected(null, function(tab) {
                 imdbid='0944835';
            }); 
            return imdbid;
    };
}
Run Code Online (Sandbox Code Playgroud)

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

var imdbid = page.getImdbID();
Run Code Online (Sandbox Code Playgroud)

此代码仅在我在"return imdbid"上放置断点时才有效.行.当我跳过断点时,它只返回一个空字符串.有什么我错过了吗?

Ano*_*on. 5

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

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