Je suis en train d'écrire une extension Google Chrome (et j'apprends énormément dans le processus). Les fonctions de rappel sont quelque chose d'un mystère. J'ai commencé à faire des recherches sur le sujet pour résoudre un problème d'une question antérieure que j'ai postée et trouvé un post de @serg contenant un modèle que je pourrais utiliser. Voici la solution:callbacks google chrome extension
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);
});
Maintenant, je veux étendre cette solution, mais cette fois-ci la fonction doit retourner deux arguments au lieu d'un. J'ai modifié le code au-dessus du meilleur que je pouvais le comprendre mais il échoue. Voici le code modifié:
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);
});
Malheureusement, cela échoue sur « Erreur dans le gestionnaire d'événements pour « non défini »: TypeError:. « Journal » la propriété de l'objet # est pas une fonction que je connais la réponse à cette question est plutôt simple si vous avez une bonne connaissance des callbacks mais je ne pas d'aide là-bas
Votre code semble correct (bien à part cette alerte avec virgule), le problème doit être quelque part élase. – serg
Trouvez la ligne où se trouve l'erreur et vous saurez alors quel est le problème. –