Как назначить вкладку Chrome переменной по заданному идентификатору вкладки в JavaScript? - PullRequest
0 голосов
/ 11 мая 2011

Я пытался назначить вкладку для переменной;но я потерпел неудачу.Вот мой код:

var tab;
chrome.tabs.get(id, function(t) {
  tab = t;
  console.log("tab: " + tab); // here the printed result is right
});
console.log("(after assignment) tab: " + tab); // always get "undefined"

Код прост, но я не знаю, в чем проблема ...

1 Ответ

3 голосов
/ 11 мая 2011

Проблема в асинхронных вызовах API Chrome, что означает, что вы не получаете от них немедленного ответа. Вы можете переписать свой код следующим образом:

var tab;
chrome.tabs.get(id, function(t) {
  tab = t;
  console.log("tab: " + tab); // here the printed result is right

  afterAssignment();
});

function afterAssignment() {
    console.log("(after assignment) tab: " + tab); // always get "undefined"

    //the rest of the code that needs to use tab var
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...