Я бы хотел сделать параллельные независимые вызовы к конечной точке.
Сначала я создаю свои вызовы, затем я вызываю forkJoin
.
getAllDirections(data: Object, date: string) {
let urls = [];
for (let elm in data) {
let url = `http:XXXXX?date=${date}&directions=${data[elm].All.join()}`;
urls.push(this.http.get<ISchedules>(url));
}
return forkJoin(urls).pipe(
map(dirData => {
let dataSorted = dirData.map(elm => _.groupBy(elm.data, 'direction'));
return dataSorted;
})
);
}
, параметры данных являются объектами параметров что я передаю URl
data = {
b1: [params1],
b2: [params2],
b3: [params3]
}
То, что я в результате смогу построить этот объект
dataRes = {
b1: [resDataofParams1],
b2: [resDataofParams2],
b3: [resDataofParams3]
}
Когда я получу ответ массива, я должен воздействовать на каждый элемент массива, соответствующий b{n}
, Как я могу получить ответы в том же порядке, что и в forkJoin
? Или есть способ передать параметр в this.http.get<ISchedules>(url)
и получить его, когда я получу ответ данных?