2011-07-31 18 views
0

Google Chrome拡張機能を作成しています(その過程で非常に多くのことを学んでいます)。コールバック関数は謎のようなものです。以前投稿した質問から問題を解決するために主題を研究し始めました。使用できるモデルを含む@sergの投稿が見つかりました。コールバックGoogle Chromeの拡張子

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

今このソリューションを拡張したいが、今度は関数が1つではなく2つの引数を返さなければならない。私はそれを理解できる最高のコードを修正しましたが、それは失敗します。

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例外:ここで変更されたコードである。オブジェクト#のプロパティ 『ログ』の関数ではありません、私はこの質問への答えをかなり知っていますあなたがコールバックの把握しているが、私がいない場合は、単純なはそこにすべてのヘルプは

+2

あなたのコードは正しく表示されています(カンマで警告する以外にも)、問題はどこかで解決しなければなりません。 – serg

+0

エラーが発生している行を見つけたら、問題が何かを知ることができます。 –

答えて

0

Sergはおそらく正しい上記されています。?

にconsole.logは(「返信がある:」、profileAgeCityMetro +は+「追求します」 profileSeeks);

console.log( "返信は:" + profileAgeCityMetro + "seeks" + profileSeeks)です。

関連する問題