AngularJS Загрузка данных из сервиса

У меня проблема с получением данных из службы, заполненной в моем представлении. У меня есть служба, определенная как таковая

app.factory('nukeService', function($rootScope, $http) {
    var nukeService = {};

    nukeService.nuke = {};

    //Gets the list of nuclear weapons
    nukeService.getNukes = function() {
        $http.get('nukes/nukes.json')
            .success(function(data) {
                nukeService.nukes = data;
            });

        return nukeService.nukes;
    };

    return nukeService;
});

и мой контроллер

function NavigationCtrl($scope, $http, nukeService){



    /*$http.get('nukes/nukes.json').success(function(data) {
        $scope.nukes = data;
    });*/

    $scope.nukes = nukeService.getNukes();

}

Если я использую $ http.get из контроллера, данные заполняются нормально, однако, если я пытаюсь вызвать данные из службы, я ничего не получаю. Я понимаю, что запрос является асинхронным, но мне трудно понять, как заполнить переменную $ scope, как только будут возвращены данные. Я мог бы использовать $ rootcope для трансляции события и прослушивания его в контроллере, но это не похоже на правильный способ сделать это. Буду очень признателен за любые советы о том, как сделать это правильно.

Ответы на вопрос(3)

Ваш ответ на вопрос