Angularjs $http承诺时没有返回对象

Angularjs $http not returning object on promise

本文关键字:返回 对象 http 承诺 Angularjs      更新时间:2023-09-26

我正在使用angular材料的angularjs,但它不是从$http返回对象,我的完整代码笔在http://codepen.io/milindsaraswala/pen/rLjLMX

<md-autocomplete md-input-name="autocompleteField" md-no-cache="ctrl.noCache" md-selected-item="ctrl.selectedItem" md-search-text="ctrl.searchText"
                                                                 md-items="item in ctrl.querySearch(ctrl.searchText)" md-item-text="item.display" md-min-length="0"
                                                                 md-floating-label="Station" flex required>
                                    <md-item-template>
                                        <span md-highlight-text="ctrl.searchText" md-highlight-flags="^i">{{item.display}}</span>
                                    </md-item-template>
                                    <div ng-messages="searchForm.autocompleteField.$error" ng-if="searchForm.autocompleteField.$touched">
                                        <div ng-message="required">You <b>must</b> have a favorite state.</div>
                                        <div ng-message="minlength">Your entry is not long enough.</div>
                                        <div ng-message="maxlength">Your entry is too long.</div>
                                    </div>
                                </md-autocomplete>

我做错了什么!

函数loadAll()需要返回一个promise

    function loadAll() {
      var deferred = $q.defer();
      var url = "http://webdev.kuwaitairways.com/_api/lists/getbytitle('KAC_Stations')/items?$select=Id,City_Code,City_Name_EN&$filter=Active eq 1&$orderby=City_Name_EN asc";
  $timeout(function() {
    httpGetService.getDataItem(url).then(function(result) {
      var allStations = [];
      angular.forEach(result, function(b) {
        var station = {
          value: b.City_Code.toLowerCase(),
          display: b.City_Name_EN + '(' + b.City_Code + ')'
        }
        allStations.push(station);
      });
      deferred.resolve(allStations);
    }, function(err) {
      deferred.reject(err);
    })
  }, 1000);
  return deferred.promise;
}

下面是工作示例。http://codepen.io/mkl/pen/XKpRaP