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

标签 javascript angularjs ionic-framework

我有一个返回实际数据的服务。但是当我在 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/

相关文章:

javascript - JavaScript 中对象的 "internal slot"是什么?

javascript - 使用 ionic 中的 angularjs 创建和更新全局列表

angular - HTTP 请求效率 Angular 4+

javascript - 如何迭代多个相似元素并依次更改每个元素的属性?

javascript - 从服务器文件持续更新 HTML 元素

javascript - 如何在var字段中使用if检查验证?

javascript - 在包含 JsonIdentityInfo 的 JavaScript 中反序列化 Jackson 对象

java - 为什么这个 AngularJS 调用会导致 400 错误请求错误(Spring 后端)

angularjs - Angular UI Grid,通过模板向行单元格添加按钮

ionic-framework - 电容.settings.gradle' 因为它不存在