Как работает «chrome.tabs.getSelected»?

#google-chrome-extension

#google-chrome-extension

Вопрос:

Это код:

 chrome.tabs.getSelected(null, function (abcd) {
        alert(abcd.index));
        });
  

Интересно, знаете, как этот объект tab ‘abcd’ передается в функцию обратного вызова из родительского метода ‘getSelected’?

Откуда генерируется этот ‘abcd’?

Ответ №1:

При правильном понимании getSelected() функция может выглядеть следующим образом (названия базовых функций вымышлены)

 chrome.tabs.getSelected = function(windowId, callback) {
    var selectedTab = GET_SELECTED_TAB(windowId || CURRENT_WINDOW_ID);
    callback(selectedTab); // this calls your function with the tab object as a parameter (abcd = selectedTab)
}
  

Комментарии:

1. Спасибо, я нахожу, что это выглядит как Proc.call в ruby.

2. Точно. Вы также можете использовать явный вызов: callback.call(null, selectedTab)