如何从回调中访问数据

时间:2014-06-25 11:25:19

标签: angularjs q angular-promise

我编写了一个名为getChildren的方法来获取与id相关的数据,但是我无法在调用方法中访问该数据。我的示例代码如下

我已经在控制器中编写了这两个方法并传递了所有必要的对象

var baseMethod = function(rootNode) {
var id = 123;

var result = getChildren(id);
};


var getChildren = function(id) {
var deferred = $q.defer();

return dummyService.oneAction(id).then(
    function (data) {
        return deferred.resolve(data);
    }
);
}

这有什么不对。我想在回调中将数据分配给我的结果。我怎么能这样做。

2 个答案:

答案 0 :(得分:0)

您的 getChildren 功能会返回一个承诺,请尝试

var baseMethod = function(rootNode) {
  var id = 123;
  var result;

  getChildren(id).then(function(data) {
    result = data;
  });
};

答案 1 :(得分:0)

var result = getChildren(id).then(function(data){

angular.copy(data, $scope.child)
});