将回调值分配给变量速记

时间:2014-10-02 10:22:59

标签: javascript

之前可能已经问过这个问题了,我做了“Google homeworks”而没有结果(很难问这个问题)。

我发现自己经常使用异步回调来执行此操作:

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

是否有简写将回调函数中包含的值赋给变量,如上所述?

我无法更改myFunction的代码。

可能的实际案例(使用Angular):

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

1 个答案:

答案 0 :(得分:0)

是的,你可以使用这样的“setter”函数:

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

然后:

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

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