How to loop through $firebaseArray

Ire Aderinokun picture Ire Aderinokun · May 5, 2015 · Viewed 9.8k times · Source

I created an array of users like so -

var ref = new Firebase(FIREBASE_URL + '/users');
var users = $firebaseArray(ref);

I have added objects to this and I want to loop through each of the users in this array. I know this is possible in the view using ng-repeat, but I need to do it in the controller. I have tried -

angular.forEach(users, function(user) {
    console.log(user);
})

But I get no result from this.

Answer

Mathew Berg picture Mathew Berg · May 5, 2015

Users probably isn't loaded by then, so you'll need to wait for it:

var ref = new Firebase(FIREBASE_URL + '/users');
var users = $firebaseArray(ref);

users.$loaded()
    .then(function(){
        angular.forEach(users, function(user) {
            console.log(user);
        })
    });

Here's the docs on it: https://www.firebase.com/docs/web/libraries/angular/guide/intro-to-angularfire.html#section-async-intro