gpt4 book ai didi

javascript - 如何从 Angular 返回的服务中访问值对象?

转载 作者:行者123 更新时间:2023-11-30 10:03:37 25 4
gpt4 key购买 nike

我有一个返回实际数据的服务。但是当我在 Controller 中调用它时,返回的数据结构有点困惑。

这是我的工厂:

app.factory("studentService", ['$http','$q','$localstorage','$state', 
function($http,$q,$localstorage,$state) {

return{
getStudentsFrom : function(index){
return $http.get(app.baseUrlServer + app.getStudentsUrl + '/getbasedonindex/'+index)
.then(function(response){
if (response.data) {
return response.data;
} else {
// invalid response
return $q.reject(response.data);
}
},function(response){
// invalid response
return $q.reject(response.data);
});
}
}

}]);

这是调用它的我的 Controller

var app_ctrl = angular.module('app.controllers');

app_ctrl.controller('BrowseController',['$scope','$state', 'studentService', '$localstorage',
function($scope,$state, studentService, $localstorage, $timeout) {

$scope.noMoreItemsAvailable = false;
// $scope.NumOfRows=studentService.getNumOfRows();

$scope.students = [];
$scope.counter=1;

console.log(studentService.getStudentsFrom($scope.counter));



}]);

这是我得到的。

Promise {$$state: Object, then: function, catch: function, finally: function}
$$state: Object
status: 1
value: Array[1]
0: Object
length: 1
__proto__: Array[0]
__proto__: Object
__proto__: Object

问题是,我怎样才能访问这个值?,谢谢

最佳答案

函数 $http.get 返回一个你需要以这种方式使用它的 promise :

studentService.getStudentsFrom($scope.counter).then(
function(result) {
console.log(result);
}
);

参见 https://docs.angularjs.org/api/ng/service/$http或者 https://docs.angularjs.org/api/ng/service/$q

关于javascript - 如何从 Angular 返回的服务中访问值对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30409377/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com