Мне предоставляются два доступных API REST, которые называются Product и Price.
Проблема, с которой я сталкиваюсь, заключается в поиске по названию продукта. Пользователь предоставит «запрос», а API продукта вернет все продукты, которые соответствуют этому имени. Затем мне нужно получить этот список, перебрать каждый элемент, чтобы получить sku, затем вызвать API цены, чтобы получить информацию о цене.
Методы, которые я имею для Продукта и Цены:
getProductListByQuery(query: string): Observable<Product[]> {
return this.http.get<Product[]>(this.productEndpoint + '/' + query);
}
getPriceBySku( sku: string): Observable<Price> {
return this.http.get<Price>(this.priceEndpoint + '/' + sku);
}
Объект продукта выглядит следующим образом:
import { Price } from './inventory';
export class Product {
sku: string;
name: string;
status: string;
price: Price;
}
Я хочу просмотреть все продукты и обновить цена .
Я пытался поиграть с forkJoin, mergeMap, switchMap, concatMap и всем, что я мог найти, что я прочитал ... но я думаю, что это сводится к тому, что я просто не понимаю, что я пытаюсь делать ... что объясняет, почему я не понимаю результат.
Мой метод выглядит примерно так:
getProductandPriceByQuery(query: string): Observable<Product[]> {
return this.productService.getProductListByQuery( query ).pipe(
// I want to loop through each Product and add Price.
// I am just stumped.
}