Я пытаюсь создать приложение, похожее на REST-API, с ExpressJS и MySQL.У меня есть такая структура таблицы:
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 () не будет ждать, пока все не будет завершено ..
Есть ли какие-либорешение для этого случая?Я думаю, что это действительно очень распространенная задача - выполнять подобные запросы.Я не понимаю, почему так сложно реализовать эту функцию.