我有API返回的照片列表對象,這是我想用訂閱()來遍歷..不是一次,而是逐一 ..Angular2 RxJs地圖HTTP響應
http.get('photos.json')
.map(res => res.json());
哪我可以使用函數(地圖,平面地圖...)將響應轉換爲多個數組,因此使用訂閱時,它將一個接一個地迭代..而不是所有的響應。
JSON example file
我有API返回的照片列表對象,這是我想用訂閱()來遍歷..不是一次,而是逐一 ..Angular2 RxJs地圖HTTP響應
http.get('photos.json')
.map(res => res.json());
哪我可以使用函數(地圖,平面地圖...)將響應轉換爲多個數組,因此使用訂閱時,它將一個接一個地迭代..而不是所有的響應。
JSON example file
Flatmap將做到這一點,如果你創建了一個可觀察出結果數組。
yourPhotosArray.flatMap(photos => Observable.from(photos))
將您的照片數組轉換成可觀察
您可以使用flatMap
:
http.get('photos.json')
.map(res => res.json())
.flatMap((array, index) => array)
.filter(photo => 600 <= photo.height)
.subscribe(photo => console.log(photo))
你要遍歷圖像,對不對? – acdcjunior
是的,但不是通過將完整圖像傳遞給角度,而是使它們可以變形。所以我們可以在迭代它們之前應用更多的過濾器。 – Basit
你已經有了答案。您只需從'rxjs/add/operator/mergeMap'中導入它(flatMap是mergeMap的別名),請參閱https://github.com/ReactiveX/RxJS/blob/master/src/add/operator/mergeMap。 TS –