简体   繁体   English

角度js-返回promise代替数据对象

[英]angular js - Return promise instead data object

im working with angular. 我与角工作。

In my service.js I'm trying to return some values but instead data I get the promise item with some $$variables & the data Im looking for. 在我service.js我试图返回一些数值,而是数据我得到的promise与一些$$变量和进出口寻找的数据项。

Problem is I can't work with data since it's a promise. 问题是我无法处理数据,因为这是一个承诺。 How can I get only the data object ? 如何获取数据对象

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

Im using Spring Data Rest . 我正在使用Spring Data Rest I copied this from another service which was working, but this one is not working well. 我从另一个正在运行的服务中复制了此服务,但该服务运行不正常。

Any help? 有什么帮助吗?

Thanks you! 谢谢!

If you don't do any additional logic, you can just return the function which already is a promise: 如果您不执行任何其他逻辑,则只需返回已经是一个承诺的函数即可:

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

And where you use it: 以及在哪里使用它:

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

If you do want to have additional logic, you can use the $q service: 如果您确实希望拥有其他逻辑,则可以使用$ 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;
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM