2014-10-02 65 views
0

也许这个问题之前已经被问到了,我做了我的“Google homeworks”没有结果(这很难问这是一个问题)。将回调的值分配给变量速记

我发现我自己的异步回调做这往往:

var wow; 
myFunction(function(something) { 
    wow = something; 
}); 

是否有分配包含在回调函数的变量的值,像上面的简写?我不能更改myFunction的代码。

可能的真实情况(与角):

$http.get(url).success(function(res) { 
    $scope.data = res; 
} 
+0

你的意思是[这里](http://stackoverflow.com/questions/905298/jquery-storing-ajax-response-into-global-variable)? – 2014-10-02 10:26:40

回答

0

是的,你可以用这样一个 “二传手” 的作用:

function setter(name) { 
    return function(result) { 
    $scope[name] = result; 
    }  
} 

然后:

$http.get(url).success(setter("data")); 

请注意,这不适用于第一个示例:无法动态分配变量。

+0

这会做。唯一的其他可能的方法是使用像Coffeescript这样的预编译器,如果你有' - >'函数声明速记 – Alberto 2014-10-02 10:39:34