一個簡單的例子,控制層:
.controller('publishController',['$scope','publishService', function($scope,publishService){ publishService.getData().then( function(answer){ $scope.data = answer.data; console.info(answer); }, function(error){ $scope.error = error; } ); }])
服務層:javascript
app.service('publishService',['$http','$q',function($http,$q){ return { getData:function(){ var deferred = $q.defer(); var promise = $http.post(url); promise.then( // 通信成功的處理 function(answer){ //在這裏能夠對返回的數據集作必定的處理,再交由controller進行處理 answer.status = true; deferred.resolve(answer); }, // 通信失敗的處理 function(error){ // 能夠先對失敗的數據集作處理,再交由controller進行處理 error.status = false; deferred.reject(error); }); //返回promise對象,交由controller繼續處理成功、失敗的業務回調 return deferred.promise; } } }]);
app:java
var app = angular.module("myApp", ['ngAnimate','ngRoute']);