Иногда вложенные обещания создают проблемы.
Нам нужно накапливать обещания в массив, чтобы вы могли вернуть их все.Вот почему a.push (), которая отправляет обещания в массив.
Данные в следующей функции .then () представляют собой массив ответов каждого обещания в том же порядке, в котором они были отправлены.
Добавьте console.log (data), чтобы увидеть, по каким значениям вы продолжаете итерацию. Если данные не могут быть повторены, то это может привести к ошибке.
Попробуйте выполнить функцию "_getSupport ()" по отдельности и посмотреть, если вы получаете какие-либо ошибки, если нет, то попробуйте мой код, он будет работать.
_getSupport()
.then((data) => {
let a = [];
data.forEach(element => {
a.push(_getSupport(element))
});
return Promise.all(a)
})
.then((data) => {
// If it returns an array of elements then this data will be
// [[0,1,2],[1,2,3] ...] based on the number of elements returned in
// first call
})
.catch( e => {console.log(e)})