2016-10-25 12 views
0

これは前に尋ねられているはずです。私は何を検索するのか正確にはわかりません、誰かが重複したものにリンクしている場合、ありがとう。外部APIを使用するjavascript関数に余分なパラメータを渡す

外部APIを呼び出すjavascript関数を使用している場合、データが返される前に他のパラメータを渡すにはどうすればよいですか?例えば。 Google Appsの、タスクのAPIを使用すると、そのようなユーザーのタスクのリストを返します。

google.script.run 
    .withSuccessHandler(showTasks) // showTasks callback function 
    .getTasks(taskListId); 
} 

/* Show the returned tasks on the page. */ 
function showTasks(tasks) { 
    // tasks is now an object of tasks returned by google 
    ... 

はしかし、私はこれをしたい:

var tasksListNumber = 1; 

google.script.run 
    .withSuccessHandler(showTasks(null, tasksListNumber)) // showTasks callback function 
    .getTasks(taskListId); 
} 

/* Show the returned tasks on the page. */ 
function showTasks(tasks, tasksListNumber) { 
    // tasks is now an object of tasks returned by google 
    // tasksListNumber is 1 
    ... 

ソリューションは何とかバインド機能を使用して含まれていますか。

+1

あなたが投稿したスニペットでは、単に 'showTasks'の本体から' taskListNumber'にアクセスできます(ローカルではありませんが、まだ見えます)。実際のユースケースはもっと関与していますか? –

+0

ちょっと、Googleの機能が使われているだけなので、イベントも使用されています:$( '#tasklist')。bind( 'change'、loadTasks); 'は$( '#tasklist1 ').bind(' change '、loadTasks(taskListNumber)); '私はあなたが提案した方法でアクセスするのが最善の方法だと思います。あるいは、それぞれ異なるシナリオのために何かカスタムを書いていると思います。 – timhc22

+0

親関数の変数としてアクセスするのが最善の方法ですね。 http://stackoverflow.com/questions/3946177/javascript-それがコールバック関数になることは可能です – timhc22

答えて

1

Google Aps APIを使用していません。以下のようなもの、私にはそう>The server's return value is passed to the function as the first argument, and the user object (if any) is passed as a second argument. - - >

google.script.run 
 
    .withUserObject(tasksListNumber) 
 
    .withSuccessHandler(showTasks) // showTasks callback function 
 
    .getTasks(taskListId); 
 
}

あなたのコードでは、あなたは基本的に瞬時にshowTasks(null, tasksListNumber)を実行しかし、そこにドキュメントを読んで。

関連する問題