2010-11-30 5 views
1

Ich würde gerne einen Parameter an die Callback-Funktion von gadget.io.MakeRequest übergeben. Ist das überhaupt möglich?Pass Parameter Callback-Funktion von gadget.io.makeRequest

function MyRequest(param){ 
... 
gadget.io.makeRequest(url, callback, opt_params, param); 
... 
} 

function callback(result,param) 
{ 
    eval("param(result)"); 
} 

if (a==1) 
    MyRequest(mycbk1); 
if (a==2) 
    MyRequest(mycbk2); 

function mycbk1(result){ 
    // handle results of makeRequest when a==1 
} 
function mycbk21(result){ 
// handle results of makeRequest when a==1 
} 
+0

Was sind die importierten js-Dateien? –

Antwort

1

Eine Möglichkeit ist, Ihre Callback-Funktion in einer anonymen Funktion wickeln, etwa so:

function MyRequest(param){ 
    ... 
    gadget.io.makeRequest(
     url, 
     function(result) { callback(result, param); }, 
     opt_params); 
    ... 
} 

Wenn das Gadget Anfrage abgeschlossen ist, wird die anonyme Funktion mit result als einziges Argument aufgerufen werden. Die anonyme Funktion ruft anschließend Ihre callback-Funktion mit result und param als Argumente auf.

+0

so einfach ... Danke – balafi