您可以使工厂返回如下承诺:
angular.module('myApp', ['myApp.filters', 'myApp.services', 'myApp.directives', 'ngResource', 'infinite-scroll', 'ui.bootstrap', 'ngcookies', 'seo']) .service('userInfo', function ($http, $cookies) { var promise = $http.get('/api/users/' + $cookies.id). success(function (data) { var userInfo = data.user[0]; return userInfo; }); return promise;}) // other stuff comes after this然后在您的控制器中
function userProfile($scope, $cookies, userInfo, $http, $resource, $routeParams, $rootScope){ userInfo.then(function(data){ $scope.user = data; });}这样可以保证,无论何时使用该服务,它始终会 同步地 为您提供数据,而不必在加载控制器之前加载任何数据。



