angular js - 返回promise而不是数据对象

时间:2015-11-19 08:21:30

标签: javascript angularjs promise angular-promise spring-data-rest

我正在使用角色。

在我的service.js我试图返回一些值,而是数据我得到promise项目,其中包含 $$变量&我正在寻找的数据。

问题是我无法使用数据,因为它是一个承诺。如何 数据对象

function loadLinks(respuesta,link) {
  return SpringDataRestAdapter.process(respuesta, link)
    .then(function (results) {
      return results;
    });
}

我正在使用Spring Data Rest。我从另一个正在运行的服务中复制了这个,但是这个服务效果不好。

有任何帮助吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

如果你没有做任何额外的逻辑,你可以只返回已经是承诺的函数:

function loadLinks(respuesta,link) {
    return SpringDataRestAdapter.process(respuesta, link);
}

你在哪里使用它:

myService.loadLinks(respuesta, link).then(function(result) {
    $scope.results = result;
}, function() {
    // fail
});;

如果您确实想要其他逻辑,可以使用$ q服务:

function loadLinks(respuesta,link) {
    var deferred = $q.defer();
    SpringDataRestAdapter.process(respuesta, link)
        .then(function (results) {
            // do something more
            console.log(results);
            deferred.resolve(results);
        }, function (error) {
            deferred.reject();
        });;

    return deferred.promise;
}