Здравствуйте! Я хочу вызвать мой http-запрос внутри цикла for, потому что я хочу выполнять одновременно только 1000 элементов.Итак, у меня есть следующий код:
getData(IDs: string[]): Observable<any> {
// IDs is a large array of strings, about 3000 of them
const results = [];
const totalData = [];
// split the IDs array into chunks of 1000
while (IDs.length) {
results.push(IDs.splice(0, 1000));
}
// loop through the new array with the chunks of 1000 and run the http request
for (let i = 0; i < results.length; i++) {
const data = this.http.get(`myhttprequest/${results[i]}`);
totalData.push(data);
}
console.log(totalData);
// this is just an array of observables when I am looking for an array of data
return totalData
}
Я не получаю никаких ошибок, но вместо того, чтобы возвращать данные массива, он просто возвращает массив наблюдаемых.
Я знаю, потому что этопеременные обновляются до того, как данные возвращаются, поэтому я попытался использовать обещания, и, к сожалению, я не могу заставить это работать.
Может ли кто-нибудь помочь мне заставить эту функцию возвращать данные вместо наблюдаемых?
Спасибо!