Angular2 RxJs映射http响应

时间:2016-02-21 23:39:34

标签: angular observable rxjs

我有api返回照片对象列表,我想使用subscribe()进行迭代..不是一次全部,但是一个接一个 ..

http.get('photos.json')
      .map(res => res.json());

我可以使用哪些函数(map,flatmap ...)将响应转换为多个数组,因此在使用subscribe时,它将逐个迭代...而不是一次全部响应。

json example file

2 个答案:

答案 0 :(得分:2)

您可以使用flatMap

http.get('photos.json')
  .map(res => res.json())
  .flatMap((array, index) => array)
  .filter(photo => 600 <= photo.height)
  .subscribe(photo => console.log(photo))

答案 1 :(得分:2)

如果从结果数组中创建一个Observable,

Flatmap将会这样做。

yourPhotosArray.flatMap(photos => Observable.from(photos))

会将您的照片数组转换为Observable