2017-05-16 56 views
0

我有遵循此邏輯可觀察的鏈:getStyles() - > getPrices()可觀察鏈重演

對於每CONFIGS config.id,_APIService.getStyleByID()返回稱爲「風格對象資源」,這種風格對象被傳遞到價格追加到它,是getLease(),然後按下稱爲數組‘車庫’

getStyles(configs: any) { 
     configs.forEach(config => { 
      this._APIService.getStyleByID(config.id).subscribe(
       res => { 
        res.config = config; 
        this.getLease(res); 
       } 
      ); 
    }); 

    } 

    getLease(style: any): void { 
     this._priceService.getPrice().subscribe(
     price => { 
      style.price = price; 
      this.garage.push(style); 
      console.log(this.garage); 
     }); 
    } 


} 

我遇到的問題是,有上正在做一個循環_APIService.getStyleByID。如何解決我的Service方法只能在每個配置中調用一次? (它遞歸過的CONFIGS陣列兩個三倍以上。

回答

0

通過subscribe前追加take(1),這個固定我的問題。