开发者

callbacks google chrome extension

开发者 https://www.devze.com 2023-03-24 06:04 出处:网络
I am writing a Google Chrome Extension (and learning an awful lot in the process).Callback functions are something of a mystery.I started researching the subject to solve a problem from an earlier que

I am writing a Google Chrome Extension (and learning an awful lot in the process). Callback functions are something of a mystery. I started researching the subject to solve a problem from an earlier question I posted and found a post from @serg containing a model I could use. Here is the solution:

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);
});

Now I want to extend this solution but this time the function has to return two arguments instead of one. I modified the code above the best I could understand it but it fails. Here is the modified code:

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);
});

Unfortunately this fails on "Error in event handler for 'undefined': TypeError: Property 'log' of object # is not a function. I know the answer to this question is rather simple if you hav开发者_如何学运维e a grasp of callbacks but I don't. Any help out there?


Serg is likely correct above:

console.log("Reply is:", profileAgeCityMetro+" seeks "+profileSeeks);

should be

console.log("Reply is:" + profileAgeCityMetro + " seeks " + profileSeeks);

0

精彩评论

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

关注公众号