可观察链重复自身

时间:2017-05-16 21:40:12

标签: javascript angular typescript observable

我有一系列遵循这个逻辑的observable:getStyles() - > getPrices()

对于configs中的每个config.id,_APIService.getStyleByID()返回一个名为“res”的样式Object,这个样式的Object传递给getLease(),其中附加了一个价格,然后推送一个名为“garage”的数组“

  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数组上递归两到三倍。

1 个答案:

答案 0 :(得分:0)

take(1)之前附加subscribe,这解决了我的问题。