У меня есть API, который возвращает мне Array<string>
идентификаторов, учитывая оригинальный идентификатор (один ко многим). Мне нужно сделать HTTP-запрос на каждый из этих идентификаторов, чтобы получить обратно связанные данные из API. Я не могу понять, как взять Observable<string[]>
и сопоставить его с Observable<DataType[]>
.
Я бы хотел сохранить исходную наблюдаемость и использовать операторы, чтобы получить желаемый результат, если это вообще возможно.
Трубопроводный оператор map
не работает в этой ситуации из-за того, что единственным элементом в наблюдаемом объекте является массив.
Вот пример кода, который похож на реализацию, которую я пытаюсь выполнить.
getIds = (originalId: string) => {
return this.http.get<string[]>(url);
}
getDataFromIds = (originalId: string): Observable<DataType[]> => {
const ids$ = this.getIds(originalId);
// Make http calls for each of the items in the array.
result = ids$.pipe();
return result;
}