In NativeScript-Vue/Firebase, I have a method with a promise that is supposed to get an array of document uids from the current user's associated Firestore document. The uids correspond to documents associated with other users (the users that the current user is following" aka their "circle").
The Firestore data looks like this:

Using vue-devtools, it shows in the data for the page that circleList gets populated by the correct array of data. The problem is, it never renders in the Listview, and isLoading never changes to false. My assumption is that the component is trying to render before the data is loaded. I've tried to solve this with async/await for that method, but it makes the userProfile info from Vuex never render either.
The code looks like this:
<template>
<Page>
<StackLayout>
<Label text="Loading" v-if="isLoading"/>
<Listview for="item in circleList" v-else>
<Label :text="item.name"/>
</Listview>
</StackLayout>
</Page>
</template>
<script>
import { mapState } from "vuex";
const firebase = require("nativescript-plugin-firebase/app");
const userDataCollection = firebase.firestore().collection("userDataCollection");
export default {
data() {
return {
isLoading: true,
circleList: [],
item: {}
}
},
created() {
this.getCircle();
},
computed: {
...mapState(['userProfile'])
},
methods: {
getCircle() {
var circle = this.userProfile.circle
const promises = circle.map(u => userDataCollection.doc(u).get())
return Promise.all(promises).then(results => {
results.map(docSnapshot => {
this.circleList.push(docSnapshot.data())
this.isLoading = false
})
})
}
}
};