我正在尝试使用ExpressJS和MySQL构建类似REST-API的应用程序。 我有一个像这样的表结构:
Course Table:
+----+--------+
| ID | TITLE |
+----+--------+
| 1 | titel1 |
+----+--------+
Sections Table:
+----+----------+-----------+-----------+
| ID | TITLE | CONTENT | COURSE_ID |
+----+----------+-----------+-----------+
| 1 | Section1 | Content 1 | 1 |
| 2 | Section2 | Content 2 | 1 |
+----+----------+-----------+-----------+
Content Table:
+----+--------+----------+------------+
| ID | TITLE | CONTENT | SECTION_ID |
+----+--------+----------+------------+
| 1 | Title1 | Content1 | 1 |
| 1 | Title2 | Content2 | 2 |
+----+--------+----------+------------+
{
id: 1,
title: title1,
sections: [
{
id: 1,
title: section1,
text: Content 1,
contents: [
CONTENT OBJECT HERE
]
},
{
id: 2,
title: section2,
text: Content 2,
contents: [
CONTENT OBJECT HERE
]
}
]
}
我已经获得了课程和相应部分的数据。但是异步和map函数有任何问题,我没有完全得到..
实际上,我正在这样做: 通过ID提取一门课程,然后使用其回调获取属于该课程的部分。我将这些部分添加到课程对象中,最后返回。效果很好。
但是,如果我遍历每个部分并尝试查询其内容,看来我的map()函数不会等到一切都完成之后。
这种情况有解决方案吗?我认为执行这样的查询是一项非常非常普遍的任务。我不明白为什么很难实现这种功能。