Я пишу расширение 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' объекта # не является функцией. Я знаю ответ на этот вопросдовольно просто, если у вас есть обратные вызовы, но я не знаю. Любая помощь там?