Я уверен, что это будет легко для любого эксперта по Angular/Javascript. У меня есть служба, которая делает вызов к API, чтобы получить некоторые данные:Возврат данных http от Angular service
app.service("GetDivision", ["$http", function($http){
this.division = function(divisionNumber){
$http.post("/api/division", {division:divisionNumber}).success(function(data){
return data;
});
}
}]);
Теперь я называю это в одном из моих контроллеров, как так:
$scope.division = GetDivision.division(1);
Однако моя служба не совсем правильно. Он не возвращает значение вне функции HTTP-запроса, поэтому данные не доходят до контроллера, вызывающего его. Как вернуть данные из запроса HTTP и вызванной функции?
Потому что это асинхронный, то $ сфера получает данные до того, как вызов Ajax является полный. Вы можете использовать $ q в своем сервисе, чтобы создать обещание и вернуть его контроллеру, а контроллер получит результат в течение вызова() против обещаний. К вашим услугам, – AngularLover