Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angular js-返回数据对象_Javascript_Angularjs_Promise_Angular Promise_Spring Data Rest - Fatal编程技术网

Javascript angular js-返回数据对象

Javascript angular js-返回数据对象,javascript,angularjs,promise,angular-promise,spring-data-rest,Javascript,Angularjs,Promise,Angular Promise,Spring Data Rest,我和angular一起工作 在我的service.js中,我试图返回一些值,但得到的是promise项,其中包含一些$$variables&我正在寻找的数据 问题是我不能处理数据,因为这是一个承诺。如何仅获取数据对象 function loadLinks(respuesta,link) { return SpringDataRestAdapter.process(respuesta, link) .then(function (results) { return resu

我和angular一起工作

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

问题是我不能处理数据,因为这是一个承诺。如何仅获取数据对象

function loadLinks(respuesta,link) {
  return SpringDataRestAdapter.process(respuesta, link)
    .then(function (results) {
      return results;
    });
}
我正在使用。我从另一个正在运行的服务中复制了这个,但是这个服务运行得不好

有什么帮助吗


谢谢你

如果不执行任何附加逻辑,只需返回已承诺的函数即可:

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

返回
结果。数据
或任何可以调用的属性如何?我不知道,这就是我要找的。我想我使用它没有成功。让我检查一下
SpringDataRestAdapter.process()
已经返回了一个承诺,为什么还要创建另一个呢?编辑:@devqon编辑了他的答案以返回函数。似乎是的,@iWörk,因为我使用的是
.then()
。无论如何,没有得到正确的答案。你知道如何“处理”它以只获取数据而不是承诺项吗?@JorgeBaumann你必须使用承诺,因为它是一个异步调用,你不能,因为它是一个异步操作。