Home > Software engineering >  how to find length of an array in javascript
how to find length of an array in javascript

Time:10-23

I am working with firebase for the first time. For that I am using Firestore. For getting all the messages I use Firebase built in method querySnapshot; Here i am getting all the rows as an object, where I declare a global variable as an array and try to push each and every object into that array. All was perfect. I got the array with all the messages as I want. But I want to get the length of an array. And I dont know every time I got 0 as an output where It have two rows.Lets Look at the Image for more better understanding enter image description here

Please help me solve this..

enter image description here Here is the utput i get

CodePudding user response:

I suppose showMessages() called earlier than you push anything to user_messages array in onSnapshot callback.

CodePudding user response:

onSnapshot lets you listen for snapshots. That means that you cannot guarantee that your handler would have been called even once before showMessages is invoked.

You could reorder your control flow like this:

// ...

user_chats.onSnapshot((querySnapshot) => {
    querySnapshot.forEach(doc => {
        user_messages.push(doc.data());
    });
    showMessages();
});

// ...
  • Related