I have an array of objects I declared in my controller like this
vm.reviews = [];
Next, I have a function that calls a service to load all the objects from the database declared like this
vm.loadAllReviews = loadAllReviews;
function loadAllReviews() {
        Review.query({
        }, onSuccess, onError);
        function onSuccess(data) {
            vm.reviews = data;
            console.log(vm.reviews.length);  //Shows 7
        }
        function onError(error) {
            AlertService.error(error.data.message);
        }
    }
I want to iterate through the reviews in another functions, but, after calling loadAllReviews in that functions, it shows that vm.reviews' length is actually 0 and, as such, cannot be used. The function looks like this
function testLocatii() {
        loadAllReviews();
        console.log(vm.reviews.length); //Shows 0
        for (var i = 0; i<vm.reviews.length;i++) {
            console.log("suntem in for");
            vm.locations.push(vm.reviews[i].coordonateLocatie);
        }
    }
Why is all of the sudden the vm.reviews array empty? I'd also like to point out that if I try to display the content of the vm.reviews array in page and use ng-repeat in HTML, it works perfectly. So why is it empty when I try to use it in that function?
P.S. I mention that I do not do any other sort of operation(slice, sort or what not) on vm.reviews
