我有一个网站,用户可以在这里进行课程。当用户开始课程时,我想将课程标识符添加到firestore中的该用户文档中。在网站上,用户拥有自己的个人资料页面。其中一个部分是“课程进行中”部分,用户可以在其中查看他们当前正在注册的课程。一旦他们开始课程,我便能够将课程文档密钥添加到用户文档上的字段中,该字段是一个字符串数组,其中包含另一个集合中文档的密钥。我遇到的问题是试图在其个人资料上显示用户当前正在注册的课程。我认为问题在于渲染屏幕后会返回课程文档。我尝试过使用async和await,以确保代码首先完成循环并获取所有课程文档,因此可以将其呈现到屏幕上,但这是行不通的。
1 回答
三国纷争
TA贡献1804条经验 获得超7个赞
我最终做了这个,它解决了我的问题。
getCourse = id => db.collection("abc")
.doc(id)
.get();
getEnrolledCareersList = async (courseIds = ["1", "2"]) => {
const requests = courseIds.map(this.getCourse);
const responses = await Promise.all(requests);
const enrolledCourses = responses.map(doc => doc.data());
this.setState({
...this.state,
enrolledCourses,
});
};
添加回答
举报
0/150
提交
取消