У меня есть входные данные, отформатированные следующим образом:
[ [4, 1, 2], [2, 5] ]
Я хочу сделать вызов API для каждого из чисел в массиве и вывести его следующим образом:
[ [response_4, response_1, response_2], [response_2, response_5] ]
Я застрял в этой логике в течение двух дней - я не могу правильно отформатировать свой возвращаемый массив.Вместо этого он возвращает:
[ response_4, response_1, response _2, response_2, response_5 ]
Я знаю, что делаю что-то не так с точки зрения использования обещаний / асинхронности, а также знаю, что в какой-то момент мне нужно сбросить temp до length = 0, но каждый раз ядобавьте, что он просто вернет [] как мой вывод.Любой совет / помощь?
const getNumData = (data) => {
let temp = []
return new Promise((resolve, reject) => {
data.forEach((outerArray) => {
return new Promise((resolve, reject) => {
outerArray.forEach((number) => {
return fetch(`http://127.0.0.1:8000/api/number?id=${number}`, {method: 'GET',})
.then((response) => response.json())
.then((responseJson) => {
temp = this.state.seqDone.concat(responseJson[0]);
this.setState({
seqDone: temp
})
console.log(temp)
})
})
if (this.state.seqDone) {
console.log(this.state.seqDone)
resolve(this.state.seqDone);
} else {
reject(Error('Sequences not found'));
}
})
});
if (this.state.seqDone) {
console.log(this.state.seqDone)
resolve(this.state.seqDone);
} else {
reject(Error('Sequences not found'));
}
})
}