angular js - Return promise 而不是数据对象

angular js - Return promise instead data object

我正在与 angular 一起工作。

在我的 service.js 中,我正在尝试 return 一些值,但我得到的数据是 promise 项目和一些 $$variables & 我正在寻找的数据。

问题是我无法使用数据,因为它是一个承诺。我怎样才能 数据对象

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

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

有什么帮助吗?

谢谢!

如果你不做任何额外的逻辑,你可以 return 已经是 promise 的函数:

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;
}