Вызов веб-сервиса api

0

Я пытаюсь получить веб-службы api, но я не могу ничего показать, я новичок в angularjs, пожалуйста, помогите мне. Я скопировал свой контроллер и заводской код, который я использую.

контроллер

app.controller('myController', ['$scope', 'fetchService', function($scope, fetchService){
    $scope.countries = fetchService.get();
}]);

оказание услуг

var app = angular.module('app',[]);
app.factory('fetchService', ['$http', function($http){
    return{
        get: function(){
            return $http.get('api/data4.json').success(function(response){
                return response.data;
            });
        }
    }
}]);
Теги:
factory
service

1 ответ

0

Проблема в том, что fetchService.get() является асинхронным (обещание, возвращаемое $http), поэтому вам нужно использовать .then():

app.controller('myController', ['$scope', 'fetchService', function($scope, fetchService){
    fetchService.get()
        .then(function(response) {
            $scope.countries = response;
        });
}]);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню