1、service中異步獲取數據實例
angular.module('starter.services', [])
.factory('Chats', function($http,$q) {//定義Chats的service
return {
all: function() {//all方法異步獲取數據
var deferred=$q.defer(); //定義deferred
var promise=deferred.promise;//定義promise
$http.get('http://localhost:3000/lists').success(function(data,status,headers,config){
//執行deferred.resolve方法,將返回的data傳入作為參數
deferred.resolve(data);
})
//返回promise
return promise;
}
};
});
2、controller中執行Chats的all方法,並將返回的數據賦值給$scope的items,這里的result就是service的all方法中異步返回的數據
angular.module('starter.controllers', [])
.controller('ChatsCtrl', function($scope, Chats) {
Chats.all().then(function(result){
$scope.items = result;
},function(){
console.log('goodsService get error');
});
})
