2013-09-30 17 views
0

我需要多次調用相同的回調函數,所以我不想重複它,但它需要一個響應,除非我明確定義它,否則調用函數無法使用此響應。基本上這就是我:如何將返回響應的預定義javascript回調傳遞給作爲參數的函數?

// The callback function 
function foo(response){ 
    //do something with the response here 
} 

// The calling function 
mainActivity(data, function(response){ 
    // Upon receiving the data in the form of 'response', do foo to it 
    foo(response); 
}); 

我會非常喜歡做的事是:

mainActivity(data, foo(response)} 

但我似乎無法弄清楚如何。

+1

你嘗試過'mainActivity(data,foo)'(傳遞它沒有調用)? – Bergi

回答

3

簡單。

mainActivity(data, foo); 

雖然不是,如果你繼續撥打foo()mainActivity()

推理:

mainActivity(data, foo(response))電話foo(response)並傳遞到mainActivity(data, callback)。如果foo(response)沒有返回函數,當mainActivity試圖將其作爲一個函數(在名義聲明中將是callback(response))時,它不會很成功。

+0

謝謝!這是如此明顯,現在我明白了.. – justclaire

相關問題