Я пытаюсь вернуть все команды в спортивный дивизион. API выглядит следующим образом:
Call /api/divs/ID
, который возвращает
- список подразделений (
.divInfo
) - список команд в этом подразделении. (
.teams
)
Например, я назвал его с помощью Division 1
(55720
), что дало мне все регионы, а также пару команд.
From any division, I am trying to assemble the complete list of teams in that division, including subdivisions.
Here is my code:
async getSubteams(id) {
let vm = this
return await this.$axios.get(`/api/div/${id}`).then(r => {
let additionalTeams = r.data.divInfo.map(subDivision => vm.getSubteams(subDivision.DivIDDivision))
return r.data.teams.concat(...additionalTeams)
})
}
const teams = await this.getSubteams(this.id)
This does not give me the expected output of a list of team objects. Instead, it is a mix between Promises and teams.
введите описание изображения здесь
Я знаю, что это неправильно запрограммировано, но как я могу сохранить асинхронность этого (т.е. одновременное выполнение нескольких вызовов api) при получении обычного списка без обещаний.
I обсуждали возврат обещаний с последующим использованием Promises.all(...)
, но это не казалось лучшим подходом.