AngularJS Wczytaj dane z usługi

Mam problem z pobieraniem danych z usługi do mojego widoku. Mam usługę zdefiniowaną jako taką

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;
});

i mój kontroler

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



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

    $scope.nukes = nukeService.getNukes();

}

Jeśli korzystam z $ http.get z kontrolera, dane wypełniają się dobrze, jednak jeśli spróbuję wywołać dane z usługi, nic nie otrzymam. Rozumiem, że zapytanie jest asynchroniczne, ale trudno mi zrozumieć, jak zapełnić zmienną $ scope po zwróceniu danych. Mógłbym użyć $ rootscope do transmisji zdarzenia i nasłuchiwać go w kontrolerze, ale nie wydaje się to właściwym sposobem na wykonanie tego. Naprawdę doceniłbym każdą radę, jak zrobić to w odpowiedni sposób.

questionAnswers(3)

yourAnswerToTheQuestion