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;
}
我正在与 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;
}