обратные вызовы расширение Google Chrome - PullRequest
0 голосов
/ 31 июля 2011

Я пишу расширение Google Chrome (и очень много узнаю в процессе).Функции обратного вызова являются чем-то загадочным.Я начал исследовать эту тему, чтобы решить проблему из предыдущего вопроса, который я написал, и нашел сообщение от @serg, содержащее модель, которую я мог бы использовать.Вот решение:

function getKeyWords(action, callback){
    chrome.extension.sendRequest(
            {
                cmd: action
            },
            function(response)
            {
                callback(response.keyWordsFound);
            }
    );
}

var keyWords="";
getKeyWords("sendKeyWords", function(reply) {
    keyWordList=reply;

    for (var i = 0; i<keyWordList.length; ++i)
    {
        keyWords=keyWords+" "+keyWordList[i];
    }
    msgComment1.innerHTML="<strong>"+keyWords+"</strong>";
    console.log("Reply is:", keyWords);
});

Теперь я хочу расширить это решение, но на этот раз функция должна возвращать два аргумента вместо одного.Я изменил приведенный выше код, насколько я мог понять, но это не удалось.Вот модифицированный код:

function getFacePageDat(action, callback){
    chrome.extension.sendRequest(
            {
                cmd: action
            },
            function(response)
            {
                callback(response.ageList, response.seekList);
            }
    );
}

getFacePageDat("sendSearchPageInfo", function(reply1, reply2) {
    profileAgeCityMetro=reply1;
    profileSeeks=reply2;
    alert("Reply is:", profileAgeCityMetro+" seeks "+profileSeeks);
    console.log("Reply is:", profileAgeCityMetro+" seeks "+profileSeeks);
});

К сожалению, это не сработает при "Ошибка в обработчике события для неопределенного": TypeError: Свойство 'log' объекта # не является функцией. Я знаю ответ на этот вопросдовольно просто, если у вас есть обратные вызовы, но я не знаю. Любая помощь там?

1 Ответ

0 голосов
/ 23 августа 2011

Серж, скорее всего, правильный выше:

console.log («Ответить:», profileAgeCityMetro + «ищет» + profileSeeks);

должно быть

console.log («Ответить:» + profileAgeCityMetro + «ищет» + profileSeeks);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...