【发布时间】:2020-08-01 23:11:08
【问题描述】:
我有一个功能如下:
function getMessages(){
this.removeListener = myFirestore
.collection('messages')
.doc(this.groupChatId)
.collection(this.groupChatId)
.onSnapshot(
snapshot => {
snapshot.docChanges().forEach(change => {
if (change.type === 'added') {
this.listMessage.push(change.doc.data())
}
})
},
err => {
console.log(err)
}
)
return this.renderMessages() # my function
}
在上面的函数中,我需要在this.renderMessages()函数中使用this.listMessage数组。为此,getMessages()函数应该先执行我的firestore查询,然后应该调用this.renderMessages()函数。但是不执行firestore查询this.renderMessages()正在被调用。我知道这是 async / await 函数的问题,但我对这些函数了解不多。
现在如何使用 async / await 函数在 firestore 查询后调用 this.renderMessages() 函数?
【问题讨论】:
标签: reactjs async-await