我有一系列遵循这个逻辑的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数组上递归两到三倍。
答案 0 :(得分:0)
在take(1)
之前附加subscribe
,这解决了我的问题。