Я получаю массив идентификаторов (assetID) и использую те идентификаторы, которые я хочу запросить для данных.
Для каждого http-запроса я получаю один или несколько наборов данных.
Я хочу добавить идентификатор запроса в каждый набор данных и затем вернуть данные.
Получение и возврат данных работает отлично, но я не знаю, как добавить этот assetID в набор данных.
Когда я делаю это, как в следующем фрагменте кода, я получаю только первый набор данных каждого идентификатора. (Конечно ... из-за [0]). Но как я могу перебрать все наборы данных?
getData(assetIds: Array<string>): Observable<any> {
const data = assetIds.map(assetId => {
// for each assetId
const path = this.serverUrl + '?' + 'assetid=' + assetId;
return this.httpClient.get(path).pipe(
map((res: any[]) => {
return {
name: res[0].name,
type: res[0].type,
asset: assetId
};
}));
});
// return combined result of each assetId request
return forkJoin(data);
}
Я также попробовал следующее, но я не получаю никаких данных при этом:
getData(assetIds: Array<string>): Observable<any> {
const data = assetIds.map(assetId => {
// for each assetId
const path = this.serverUrl + '?' + 'assetid=' + assetId;
return this.httpClient.get(path).pipe(
map((res: any[]) => {
const resultArray = [];
res.forEach(element => {
const row = {
name: res[element].name,
type: res[element].type,
asset: assetId
};
resultArray.push(row);
});
return resultArray;
}));
});
// return combined result of each assetId request
return forkJoin(data);
}