2010-11-30 119 views
1

我想将一个参数传递给gadget.io.MakeRequest的回调函数。 这是可能的吗?将参数传递给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

你输入的js文件是什么? – 2014-09-03 15:32:43

回答

1

一种可能性是包装你的回调函数在一个匿名函数,像这样:

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

当小工具的要求完成,匿名函数将result作为唯一的参数来调用。匿名函数随后调用您的callback函数,并使用resultparam作为参数。

+0

这么简单...谢谢 – balafi 2010-11-30 13:18:25