1

2 つのインターフェースがあるとします。

export interface IA{
   something: string;
   myprop: number;
}

export interface IB{
   myprop: number;
}

バックエンドから IA オブジェクトを返すエンドポイントを呼び出すメソッドがあり、別のエンドポイントを呼び出して、両方の結果を IA オブジェクトに結合する必要があります。以前は、次のようなことをしていました。

GetA():Observable<IA>{
    return this.httpClient
        .get<IA>('somewhere')
        .concatMap(a=>Observable.combineLatest(
           Observable.of(a), 
           GetB(a)
        ))
        .map([a,b]=>combineSomehowAandB(a,b))
}

しかし今、の新しいバージョンでは、rxjs代わりに .pipe(operators[]) を使用せざるを得なくなりました。pipe() で同じものを実装する方法は? 私はこのように試しましたが、うまくいきません:

GetA():Observable<IA>{
    return this.httpClient
        .get<IA>('somewhere')
        .pipe(
           concatMap(a=>[Observable.of(a), GetB(a)]),
           combineLatest(),
           map([a,b]=>combineSomehowAandB(a,b))
         );
}

前もって感謝します。

4

2 に答える 2