开发者

Code only works when I place a breakpoint

I got the following code (in a seperate file called page.js):

var page = new function() {

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

Which gets called by the following code (which is in background.html).

var imdbid = page.getI开发者_如何学编程mdbID();

This code only works when I place a breakpoint on the "return imdbid;" row. When I skip the breakpoint it only returns an empty string. Is there anything I have missed?


The fact that it works when you place a breakpoint suggests a timing issue.

In this case, I would suppose that getSelected is an asynchronous operation (hence why it takes a callback), and so you would need to wait for it to complete and the callback to be executed before the variable has the value you want.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜