這段代碼適用於我,但是想知道這是否是處理嵌套訂閱的更好方法。獲取一個數組,我需要循環並在另一個http調用中使用。這是否有效?如何處理嵌套的觀察對象
this.storeService.fetchStores(this.currentCoordinates).subscribe(nearestStores => {
nearestStores.forEach(store => {
this.stockService.fetchStockResults(ean, store.id).subscribe(stock => {
this.stockResults.push({
storeObject: store,
ean: stock.ean,
ranged: stock.ranged,
inStock: stock.quantity > 0 ? true : false
}
);
});
});
});
你可以使用[mergeAll](http://reactivex.io/rxjs/class/es6/ Observable.js〜Observable.html#instance-method-mergeAll)使你的代碼更優雅*,但它不會使它更高效*:你仍然會發送很多HTTP請求,這就是爲什麼代碼效率低下。 –