1

のコールバック関数にパラメータを渡したいです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
}
4

1 に答える 1

1

1 つの可能性は、次のように無名関数でコールバック関数をラップすることです。

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

resultガジェットのリクエストが終了すると、唯一の引数として無名関数が呼び出されます。その後、無名関数はと のcallback両方を引数として関数をresult呼び出しparamます。

于 2010-11-30T11:30:01.700 に答える