将参数传递给gadget.io.makeRequest的回调函数

时间:2010-11-30 10:37:00

标签: javascript opensocial

我想将参数传递给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
}

1 个答案:

答案 0 :(得分:1)

一种可能性是将回调函数包装在匿名函数中,如下所示:

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

当小工具请求完成时,将使用result作为唯一参数调用匿名函数。匿名函数随后会将callbackresult作为参数调用param函数。