Итак, я сейчас использую API, который выдает ответ, подобный этому.
{
"meta": {
"limit": 20,
"next": null,
"offset": 0,
"previous": null,
"total_count": 10
},
"objects": [
{
"date": "2019-03-15",
"id": 16,
"mSlug": "gud_vs_dex",
"resource_uri": "/api/v1/match/16/",
"team1": "/api/v1/team/7/",
"team2": "/api/v1/team/3/",
"time": "21:30:00",
"viewLink": "twitch.tv/tectalparrot198q",
"viewLink2": null
},
Затем мне нужно получить пять полей из этого ответа - mSlug
, team1
, team2
, date
и time
.У меня нет проблем с получением mSlug
, date
и time
.Однако проблема заключается в том, что мне нужно использовать ссылки, возвращенные из team1
и team2
, для создания новых запросов GET, которые возвращают API, который выглядит следующим образом:
{
"captain": "Parrayeet",
"currentRanking": 100,
"id": 7,
"members": "CFE SilentHeart,GreenTigerBeast,Pack Jaul",
"name": "Guardian Down",
"platform": "Xbox",
"resource_uri": "/api/v1/team/7/",
"slug": "guardian_down"
}
Отсюда мне нужнобыть в состоянии получить названия команд, которые я ищу.Наконец, в конце я должен быть в состоянии собрать воедино информацию из всех вызовов, чтобы сделать одну строку, сообщающую пользователю имена команды (из второго / третьего вызова) и дату / время / ссылку из первоговызов.Однако, поскольку запросы являются асинхронными, я не могу сохранить эти результаты в какую-либо переменную или массив, поэтому я не могу просто выполнить
slug = response.body.objects[0].mSlug
. Есть ли хорошие способы, которыми я могу сделать несколько запросов GETс некоторыми, используя информацию ответа, и объединить данные вместе в конце?Я пытался использовать fetch
, request
и request-promise
, но все безрезультатно.Любая помощь (и объяснение того, почему это работает) поможет.