在我的控制器中,代码被编写为调用服务" regionService"
.controller('RegionController', function( $scope , regionService) {
$scope.RegionData=[];
var promise = regionService.getRegionDetail();
promise.then(function(data){
$scope.RegionData = data.data;
$scope.RegionDataStatus = data.status;
debugger;
console.log($scope.RegionData);
});
})
代码写为服务
.service('regionService',function($http , $q){
debugger;
var deferred =$q.defer();
$http.get('/api/getRegion').then( function(data)
{
deferred.resolve(data);
});
this.getRegionDetail = function()
{
return deferred.promise;
};
})
和api json数据来自AS
$scope.regionDetails =[
{ "RegionName": "Asia", "Regioncode": "ASIA" },
{ "RegionName": "South Asia", "Regioncode": "SASI" },
{ "RegionName": "North Asia", "Regioncode": "NASI" },
{ "RegionName": "West Asia", "Regioncode": "WsASI" },
{ "RegionName": "EAst Asia", "Regioncode": "EASI" }
];
当我们使用Controller调用服务时,然后根据控制台上的deugger,我们从API获取数据,但是在加载页面之后" $ q" promise使用null数据覆盖Scope Varriable,因为他们称之为asynchronus $ q promises