2017-04-25 18 views
0

2オブザーバブルを結合しようとしています。最初の観測値はShoppingCartクラスを保持し、2番目の観測値はShoppingItemsのリストを保持します。私はショッピングカートの項目(Observable<ShoppingItems)で観測値をShoppingCartクラス内のインスタンス変数shoppingList$にマッピングしたいと考えています。2つのオブザーバを1つに結合/マージする

観察可能な1:Observable<ShoppingCart>

はここでショッピングカートクラスの抜粋です。

2観察可能:Observable<ShoppingItems[]> プライベート観察できる:ここで観察可能

は、私が使用しています機能です。

retrieveShoppingCartComplete(shoppingCartId: string): Observable<ShoppingCart> { 

/**Returns the requested shopping cart, with the Ids of the shopping items in an array called shoppingCart.ShoppingItems*/ 
    let shoppingCart$ = this.retrieveShoppingCart_AsEntity(shoppingCartId); 


/** returns an Observable<ShoppingItems[]> of the requested ShoppingItems as entitys*/ 
    let shoppingItems$ = shoppingCart$.map(shoppingCart => this.leS.retrieveShoppingItemsComplete(shoppingCart.ShoppingItemsIds)) 

    return shoppingCart$.combineAll(shoppingItems$); 
} 

上記の方法は、私はcombineAllはあなたがここで必要なものではないと思いますShoppingCartクラスでshoppingList$インスタンス変数に

答えて

0

を割り当てObservable<ShoppingItems>配列とObservable<[ShoppingCart | ShoppingItems[]]>ないObservable<ShoppingCart>を返しますが。私はこのように2つのサービスコールをチェーンするのにflatMapを使うでしょう:

関連する問題