I have a controller and service.
The service performs a http.get and return true if successful and false if error.
However, in the controller, it receives true or false correctly, but the html of the binding always displays as true??
Controller:
app.controller('MyController', function($scope, MyService) {
    MyService.getData(function(isLoggedIn, userData) {
        var loggedIn = isLoggedIn;    
        $scope.isLoggedIn = loggedIn;
        $scope.myUser = userData;
        //$scope.$evalAsync();
        //$scope.$apply();            
    });    
});
app.factory('MyService', function($http, $q) {
    return {
        getData: function(isLoggedIn, userModel) {
            $http.get('../assets/data/data.json')
                .success(function(data) {
                    userModel(data);
                    isLoggedIn(true);
                })
                .error(function(data, status, headers, config) {
                    // If 400 or 404 are returned, the user is not signed in.
                    if (status == 400 || status == 401 || status == 404) {
                        isLoggedIn(false);
                    }                    
                });
        }
    }
});
HTML:
{{isLoggedIn}}
In the above, {{isLoggedIn}} is always true. Even when i modify the http call to:
$http.get('../blah/blah/blah.json')
In the effort to force a .error/fail.
I've tried $scope.$apply() and i keep getting the error of a digest cycle in process. help!!!

isLoggedInanduserModelin the service like they're methods... what are you passing into the service?getDatais defined with two parameters, you are passing one argument (the anonymous function). AnduserModelin the$http.getcallback is going to beundefinedas you didnt pass a second argument souserModel(data);should be throwing an error, did you check your console?